• autoKeras Windows 的入门测试


      在测试中分析一下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)
    

      

  • 相关阅读:
    bat过滤任意字符
    汇编代码之修改文件时间
    使用C语言编写提取通用shellcode的程序
    汇编代码之修改文件时间
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    bat过滤任意字符
    VC++6.0中内存泄漏检测
    透视木马程序开发技术
    使用C语言编写提取通用shellcode的程序
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/9593653.html
Copyright © 2020-2023  润新知