autoKeras Windows 的入门测试

  在测试中分析一下ide的效果,在pycharm中测试的时候老师提示内存溢出,而且跑autoKeras的cnn时确实消耗很大空间。但是同样的电脑,换了vscode进行测试的时候没有问题。我也不知道什么回事。推荐如果电脑运行内存没有12G建议别跑了。刚好的话建议使用vscode这款ide执行效率比较高。而且毛病少。唯一的确定就是,写代码的效率不高。你也可以在pycharm写代码,放到vscode进行执行测试。

测试数据下载链接: https://pan.baidu.com/s/16a1PN3L-lYy-61Wfjvd1VQ 密码: 3ubr

测试代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# coding:utf-8
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
import numpy as np
import matplotlib.pyplot as plt
from scipy.misc import imresize
import cv2
from autokeras.image_supervised import ImageClassifier
from sklearn.metrics import accuracy_score
from keras.models import load_model
from keras.utils import plot_model
import time
 
 
start = time.time()
 
def read_img(path,class_num):
    imgName_list = os.listdir(path)
    n = len(imgName_list)
    # img_index,img_colummns,img_rgbSize = plt.imread(path+'/'+imgName_list[0]).shape
    img_index, img_colummns = [28,38# 这个设置很重要。如果你的电脑很好的话可以忽略设置。要不然内存不足的。
    print(img_index,img_colummns)
    data = np.zeros([n,img_index,img_colummns,1])
    label = np.zeros([n,1])
    class_number = 0
    for i in range(n):
        imgPath = path+'/'+imgName_list[i]
        data[i,:,:,0] = imresize(cv2.cvtColor(plt.imread(imgPath),cv2.COLOR_BGR2GRAY),[img_index,img_colummns])
        if (i)%(class_num) == 0:
            class_number = class_number+1
        label[i,0] = class_number
    return data,label
 
x_train,y_train = read_img('./data/re/train',80)
x_test,y_test = read_img('./data/re/test',20)
 
animal = ['bus', 'dinosaur', 'flower', 'horse', 'elephant'# 动物类别对应 labelValue 为 [1,2,3,4,5]
# plt.imshow(x_test[0,:,:,0],cmap='gray')
# plt.show()
 
if __name__=='__main__':
    # 模型构建
    model = ImageClassifier(verbose=True)
    # 搜索网络模型
    model.fit(x_train,y_train,time_limit=1*60)
    # 验证最优模型
    model.final_fit(x_train,y_train,x_test,y_test,retrain=True)
    # 给出评估结果
    score = model.evaluate(x_test,y_test)
    # 识别结果
    y_predict = model.predict(x_test)
    # 精确度
    accuracy = accuracy_score(y_test,y_predict)
    # 打印出score与accuracy
    print('score:',score,'  accuracy:',accuracy)
 
    model_dir = r'./modelStructure/imgModel.h5'
    model_img = r'./modelStructure/imgModel_ST.png'
    # 保存可视化模型
    # model.load_searcher().load_best_model().produce_keras_model().save(model_dir)
    # 加载模型
    # automodel = load_model(model_dir)
    # 输出模型 structure 图
    # plot_model(automodel, to_file=model_img)
 
    end = time.time()
    print(end-start)

  

 

 

posted @   算法浪客  阅读(2220)  评论(18编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示