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)

 


相关文章
|
1月前
|
机器学习/深度学习 算法 测试技术
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
本文是关于如何搭建深度学习环境,特别是使用mmdetection进行CPU安装和训练的详细指南。包括安装Anaconda、创建虚拟环境、安装PyTorch、mmcv-full和mmdetection,以及测试环境和训练目标检测模型的步骤。还提供了数据集准备、检查和网络训练的详细说明。
101 5
深度学习环境搭建笔记(二):mmdetection-CPU安装和训练
|
20天前
|
机器学习/深度学习 监控 PyTorch
深度学习工程实践:PyTorch Lightning与Ignite框架的技术特性对比分析
在深度学习框架的选择上,PyTorch Lightning和Ignite代表了两种不同的技术路线。本文将从技术实现的角度,深入分析这两个框架在实际应用中的差异,为开发者提供客观的技术参考。
37 7
|
22天前
|
机器学习/深度学习 自然语言处理 并行计算
DeepSpeed分布式训练框架深度学习指南
【11月更文挑战第6天】随着深度学习模型规模的日益增大,训练这些模型所需的计算资源和时间成本也随之增加。传统的单机训练方式已难以应对大规模模型的训练需求。
72 3
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
159 1
深度学习环境搭建笔记(一):detectron2安装过程
|
3月前
|
测试技术 数据库
探索JSF单元测试秘籍!如何让您的应用更稳固、更高效?揭秘成功背后的测试之道!
【8月更文挑战第31天】在 JavaServer Faces(JSF)应用开发中,确保代码质量和可维护性至关重要。本文详细介绍了如何通过单元测试实现这一目标。首先,阐述了单元测试的重要性及其对应用稳定性的影响;其次,提出了提高 JSF 应用可测试性的设计建议,如避免直接访问外部资源和使用依赖注入;最后,通过一个具体的 `UserBean` 示例,展示了如何利用 JUnit 和 Mockito 框架编写有效的单元测试。通过这些方法,不仅能够确保代码质量,还能提高开发效率和降低维护成本。
54 0
|
3月前
|
UED 开发者
哇塞!Uno Platform 数据绑定超全技巧大揭秘!从基础绑定到高级转换,优化性能让你的开发如虎添翼
【8月更文挑战第31天】在开发过程中,数据绑定是连接数据模型与用户界面的关键环节,可实现数据自动更新。Uno Platform 提供了简洁高效的数据绑定方式,使属性变化时 UI 自动同步更新。通过示例展示了基本绑定方法及使用 `Converter` 转换数据的高级技巧,如将年龄转换为格式化字符串。此外,还可利用 `BindingMode.OneTime` 提升性能。掌握这些技巧能显著提高开发效率并优化用户体验。
66 0
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习框架之争:全面解析TensorFlow与PyTorch在功能、易用性和适用场景上的比较,帮助你选择最适合项目的框架
【8月更文挑战第31天】在深度学习领域,选择合适的框架至关重要。本文通过开发图像识别系统的案例,对比了TensorFlow和PyTorch两大主流框架。TensorFlow由Google开发,功能强大,支持多种设备,适合大型项目和工业部署;PyTorch则由Facebook推出,强调灵活性和速度,尤其适用于研究和快速原型开发。通过具体示例代码展示各自特点,并分析其适用场景,帮助读者根据项目需求和个人偏好做出明智选择。
69 0
|
3天前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
17 8
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
7天前
|
机器学习/深度学习 数据采集 测试技术
深度学习在图像识别中的应用
本篇文章将探讨深度学习在图像识别中的应用。我们将介绍深度学习的基本原理,以及如何使用深度学习进行图像识别。我们将通过一个简单的代码示例来演示如何使用深度学习进行图像识别。这篇文章的目的是帮助读者理解深度学习在图像识别中的作用,并学习如何使用深度学习进行图像识别。
下一篇
无影云桌面