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)

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM