autoKeras Windows 的入门测试
2024-10-21 05:47:39
在测试中分析一下ide的效果,在pycharm中测试的时候老师提示内存溢出,而且跑autoKeras的cnn时确实消耗很大空间。但是同样的电脑,换了vscode进行测试的时候没有问题。我也不知道什么回事。推荐如果电脑运行内存没有12G建议别跑了。刚好的话建议使用vscode这款ide执行效率比较高。而且毛病少。唯一的确定就是,写代码的效率不高。你也可以在pycharm写代码,放到vscode进行执行测试。
测试数据下载链接: https://pan.baidu.com/s/16a1PN3L-lYy-61Wfjvd1VQ 密码: 3ubr
测试代码:
# 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)
最新文章
- 机器学习利器——Scikit-learn的安装
- 保留json字符串中文的函数,代替json_encode
- unique函数的作用
- 无向图最小生成树(prim算法)
- How to install more voices to Windows Speech?
- PHP 如何安全的使用 MySQL ?
- Android 开发中eclipse 下 DDMS 视图中 sdcard 中文件导入的处理
- 【转】视差滚动(Parallax Scrolling)效果的原理和实现
- winsshfs的快速入手
- 从Java虚拟机的内存区域、垃圾收集器及内存分配原则谈Java的内存回收机制
- Material使用05 自定义主题、黑夜模式\白天模式切换
- http进阶
- Webpack模块的导出以及之间的依赖引用
- SSM框架中,controller的action返回参数给vue.js
- Docker Compose 引用环境变量
- Mybatis+Mysql逆向工程
- 实体lis<;T>;t转换datatable
- java ee wildfly spring 在线程池的线程中注入
- CF1029E
- eHR自动同步获取LDAP中的邮箱地址