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) |
自动化学习。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 接口并集成到在线客服系统