DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略-阿里云开发者社区

开发者社区> 一个处女座的程序猿> 正文

DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略

简介: DL框架之AutoKeras框架:深度学习框架AutoKeras框架的简介、特点、安装、使用方法详细攻略
+关注继续查看

目录


AutoKeras框架的简介


AutoKeras框架的特点


AutoKeras的安装


AutoKeras框架的使用方法




AutoKeras框架的简介



? ? ? ?AutoKeras是一个开源的,基于 Keras 的新型 AutoML 库。AutoKeras 是一个用于自动化机器学习的开源软件库,提供自动搜索深度学习模型的架构和超参数的功能。

(1)、Keras 是一个用 Python 编写的高级神经网络 API,能够在 TensorFlow、CNTK 或 Theano 之上运行。它的意义在于可以实现快速实验。而能够以最小的延迟把想法变成结果是顺利进行研究的关键。


? ? ? AutoKeras比AutoML伟大的地方就是开源,哈哈,开源就等同于免费!这是我非常喜欢的一点!!!简而言之,AutoML是给有钱的公司玩的,像我们这样做学术研究的, AutoKeras简直妙不可言!!


官方网站:https://autokeras.com/

项目github:https://github.com/jhfjhfj1/autokeras

TensorFlow版本:https://github.com/melodyguan/enas

PyTorch 版本:https://github.com/carpedm20/ENAS-pytorch



AutoKeras框架的特点


1、AutoKeras 基于非常易于使用的深度学习数据库 Keras,使用 ENAS 的方法。ENAS 是 NAS 的最新版本,因此让 AutoKeras 具有高效、安装简单、参数可调、易修改等特点。



AutoKeras的安装


1、安装AutoKeras


pip install autokeras

image.png

image.png



2、测试

import autokeras as ak

clf = ak.ImageClassifier()

clf.fit(x_train, y_train)

results = clf.predict(x_test)

#导出模型

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、举个栗子


from keras.datasets import mnist

from autokeras.image_supervised import ImageClassifier

if __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、再举一个栗子


# 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)

?


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
推理速度提升29倍,参数少1/10,阿里提出AdaBERT压缩方法
作为当前最佳的自然语言处理模型,BERT 却存在规模大、成本高和实时性差等缺点。为了能在实际应用中部署这种技术,有必要对 BERT 进行压缩。此前机器之心就已经介绍了几种来自不同研究机构的压缩方案,参阅《内存用量 1/20,速度加快 80 倍,腾讯 QQ 提出全新 BERT 蒸馏框架,未来将开源》和《AAAI 2020 | 超低精度量化 BERT,UC 伯克利提出用二阶信息压缩神经网络》。
4 0
SpringBoot-RabbitMQ01-入门介绍
AMQP (Advanced Message Queuing Protocol ,高级消息队列协议)是 个线路层的协议规范,而不是 API 规范(例如 JMS )。由于 AMQP 是一个线路层协议规范,因此它天然就是跨平台的,就像 SMTP HTTP 等协议 样,只要开发者按照规范的格式发送数据,任何平台都可以通过 AMQP进行消息交互。像目前流行的 StormMQ RabbitMQ 等都实现了 AMQP. ———————————————— 版权声明:本文为CSDN博主「波波烤鸭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://bl
5 0
数据库框架MyBatisPlus的使用解析!详细解析MyBatisPlus中API的使用方式
本篇文章具体对数据库框架MyBatisPlus中的API的使用方式进行详细的说明解析,包括注解的使用,CRUD接口的使用和条件构造器的使用。通过实例对MyBatisPlus中API方法进行具体的使用说明,可以帮助你学会在项目中集成使用MyBatisPlus框架。
4 0
AI面试催生韩国新型补习班:200元一小时,面对摄像头练习用眼睛微笑
「微笑不要靠嘴唇,要从眼睛里透出来」,在 200 元一小时的补习班里,韩国培训老师这样传授面对「AI 面试官」的诀窍。对于那些待业已久的韩国年轻人来说,只要能通过大公司的 AI 面试,支付昂贵的补习费用根本算不上什么。
5 0
SpringDataRedis介绍
实际项目中我们一般都会使用Redis来作为我们的缓存组件,往往又会和Spring一块使用,虽然Redis官方提供的有Jedis等客户端工具,但是使用的时候还是有些不方便,这时SpringDataRedis出现了。
4 0
第一次胜过MobileNet的二值神经网络,-1与+1的三年艰苦跋涉
近日,苹果以 2 亿美元左右价格收购初创公司 Xnor.ai 的消息引起了社区极大的关注。作为一家以二值神经网络 Xnor-net 起家的人工智能初创公司,Xnor.ai 被苹果高价收购,也许预示着低功耗、高效能的二值神经网络技术将开启广阔的应用前景。
4 0
SpringCloud-分布式配置中心【加密-对称加密】
前面我们介绍了SpringCloud的分布式配置中心,我们将项目中的配置信息保存在git或者码云的仓库中,但是这样一些敏感信息就暴露出来了,比如数据库连接的账号密码等信息,这时我们最好能够对这些信息进行加密处理。
5 0
通过数组模拟ArrayList结构,完成容器的创建、添加、修改、删除,以及可以 遍历自定义的结构,
通过数组模拟ArrayList结构,完成容器的创建、添加、修改、删除,以及可以 遍历自定义的结构,
3 0
python抢21游戏
python抢21游戏
5 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载
http://www.vxiaotou.com