DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略
DL框架之AutoKeras框架:深度學(xué)習(xí)框架AutoKeras框架的簡(jiǎn)介、特點(diǎn)、安裝、使用方法詳細(xì)攻略
Paper:《Efficient Neural Architecture Search via Parameter Sharing》
?
?
目錄
AutoKeras框架的簡(jiǎn)介
AutoKeras框架的特點(diǎn)
AutoKeras的安裝
AutoKeras框架的使用方法
?
?
?
?
AutoKeras框架的簡(jiǎn)介
?
? ? ? ? AutoKeras是一個(gè)開源的,基于 Keras 的新型 AutoML 庫(kù)。AutoKeras 是一個(gè)用于自動(dòng)化機(jī)器學(xué)習(xí)的開源軟件庫(kù),提供自動(dòng)搜索深度學(xué)習(xí)模型的架構(gòu)和超參數(shù)的功能。
(1)、Keras 是一個(gè)用 Python 編寫的高級(jí)神經(jīng)網(wǎng)絡(luò) API,能夠在 TensorFlow、CNTK 或 Theano 之上運(yùn)行。它的意義在于可以實(shí)現(xiàn)快速實(shí)驗(yàn)。而能夠以最小的延遲把想法變成結(jié)果是順利進(jìn)行研究的關(guān)鍵。
? ? ? ?AutoKeras比AutoML偉大的地方就是開源,哈哈,開源就等同于免費(fèi)!這是我非常喜歡的一點(diǎn)!!!簡(jiǎn)而言之,AutoML是給有錢的公司玩的,像我們這樣做學(xué)術(shù)研究的,?AutoKeras簡(jiǎn)直妙不可言!!
官方網(wǎng)站:https://autokeras.com/
項(xiàng)目github:https://github.com/jhfjhfj1/autokeras
TensorFlow版本:https://github.com/melodyguan/enas
PyTorch 版本:https://github.com/carpedm20/ENAS-pytorch
?
AutoKeras框架的特點(diǎn)
1、AutoKeras 基于非常易于使用的深度學(xué)習(xí)數(shù)據(jù)庫(kù) Keras,使用 ENAS 的方法。ENAS 是 NAS 的最新版本,因此讓 AutoKeras 具有高效、安裝簡(jiǎn)單、參數(shù)可調(diào)、易修改等特點(diǎn)。
?
?
AutoKeras的安裝
1、安裝AutoKeras
pip install autokeras?
2、測(cè)試
import autokeras as akclf = ak.ImageClassifier() clf.fit(x_train, y_train) results = clf.predict(x_test)#導(dǎo)出模型 from autokeras import ImageClassifier clf = ImageClassifier(verbose=True, augment=False) clf.load_searcher().load_best_model().produce_keras_model().save('my_model.h5')#可視化模型 from keras.models import load_model model = load_model('my_model.h5') #See 'How to export keras models?' to generate this file before loading it. from keras.utils import plot_model plot_model(model, to_file='my_model.png')?
AutoKeras框架的使用方法
1、舉個(gè)栗子
from keras.datasets import mnist from autokeras.image_supervised import ImageClassifierif __name__ == '__main__':(x_train, y_train), (x_test, y_test) = mnist.load_data()x_train = x_train.reshape(x_train.shape + (1,))x_test = x_test.reshape(x_test.shape + (1,))clf = ImageClassifier(verbose=True)clf.fit(x_train, y_train, time_limit=12 * 60 * 60)clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)y = clf.evaluate(x_test, y_test)print(y)2、再舉一個(gè)栗子
# 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 timestart = 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]).shapeimg_index, img_colummns = [28,38] # 這個(gè)設(shè)置很重要。如果你的電腦很好的話可以忽略設(shè)置。要不然內(nèi)存不足的。print(img_index,img_colummns)data = np.zeros([n,img_index,img_colummns,1])label = np.zeros([n,1])class_number = 0for 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+1label[i,0] = class_numberreturn data,labelx_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'] # 動(dòng)物類別對(duì)應(yīng) labelValue 為 [1,2,3,4,5] # plt.imshow(x_test[0,:,:,0],cmap='gray') # plt.show()if __name__=='__main__':# 模型構(gòu)建model = ImageClassifier(verbose=True)# 搜索網(wǎng)絡(luò)模型model.fit(x_train,y_train,time_limit=1*60)# 驗(yàn)證最優(yōu)模型model.final_fit(x_train,y_train,x_test,y_test,retrain=True)# 給出評(píng)估結(jié)果score = model.evaluate(x_test,y_test)# 識(shí)別結(jié)果y_predict = model.predict(x_test)# 精確度accuracy = accuracy_score(y_test,y_predict)# 打印出score與accuracyprint('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)?
總結(jié)
以上是生活随笔為你收集整理的DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Py之curses:curses库的简介
- 下一篇: Py:Python实现好莱坞《黑客》影视