搜索时间为24h,代码:
from autokeras.image.image_supervised import load_image_dataset, ImageClassifier
from keras.models import load_model
from keras.utils import plot_model
from autokeras.utils import pickle_from_file
from keras.preprocessing.image import load_img, img_to_array
import numpy as np
import time
from keras.datasets import mnist
(train_data, train_labels), (test_data, test_labels) = mnist.load_data()
train_data = train_data.reshape(train_data.shape + (1,))
train_labels = train_labels
test_data = test_data.reshape(test_data.shape + (1,))
test_labels = test_labels
MODEL_DIR = './my_model.h5'
MODEL_PNG = './model.png'
# 数据进行格式转换
train_data = train_data.astype('float32')
test_data = test_data.astype('float32')
print("train data shape:", train_data.shape)
# 使用图片识别器
clf = ImageClassifier(path="./automodels/",verbose=True, augment=False)
# 给其训练数据和标签,训练的最长时间可以设定,假设为1分钟,autokers会不断找寻最优的网络模型
clf.fit(train_data, train_labels, time_limit=24*60*60)
# 找到最优模型后,再最后进行一次训练和验证
#clf.final_fit(train_data, train_labels, test_data, test_labels, retrain=True)
# 给出评估结果
y = clf.evaluate(test_data, test_labels)
print("evaluate:", y)
# 导出我们生成的模型
clf.export_autokeras_model(MODEL_DIR)
# 加载模型
model = pickle_from_file(MODEL_DIR)
结果:
evaluate: 0.9935
模型大小:
45M
网友评论