自动化机器学习,通常被称为AutoML,是自动化构建指神经网络结构。AutoML通过智能架构的操作,可以让大家更方便、更快速的进行深度学习的研究。
关于AutoKeras的一个简短介绍
是不是很激动,让我们正式开始叭! 安装在安装前,请先确保你安装了以下包:
在命令行中,运行下列两个命令。这样就能正确安装AutoKeras。注意,不能在Kaggle笔记本中运行,最好在本地环境中运行。
作为测试,在编码环境中运行import autokeras以确保一切正常。 结构化数据的分类/回归任务我们从著名的iris数据集开始,该数据集可以从sklearn的几个简单的示例数据集中导入。导入的数据是一个字典,有两个键值对组成,'data '和 'target'。
太好了!一切都很顺利。我们可以开始使用Autokeras了。 导入Autokeras通常没有问题。StructuredDataClassifier是一个在 '结构化数据 ',或者说是带有列和标签的标准二维数据上工作的搜索对象。max_trials参数表示要测试的模型的最大数量;在iris数据集上,由于数据集规模较小,这个参数可以设置较高一些。通常在达到max_trials之前搜索就会结束(它作为一个上限)。
对于回归问题,使用StructuredDataRegressor。 我们可以通过调用.fit()来启动搜索过程。verbose是一个参数,可以设置为0或1,这取决于你是否希望模型输出训练相关信息,比如潜在网络的架构和每个epoch的搜索情况。然而,每个潜在架构都有数百个epoch,所以开启这一项可能会占用空间并减慢训练速度。
建议设置verbose=1,来显示整个训练的过程。因为整个搜索过程至少会持续几分钟才能完成。如下面示例的输出:
如果你愿意的话,可以观察搜索到架构随着时间的推移而不断变化,以及哪些元素会进入最终的神经网络。这一过程很有意思。
为了查看模型结构的更多细节并保存它,我们需要使用model = search.export_model()对其进行导出。这里的model是一个标准的TensorFlow/Keras模型,而不是AutoKeras对象。
保存模型权重,使用model.save(‘filepath/weights.h5’). 图像分类/回归图像分类和回归的工作原理很像标准结构化数据的分类和回归,但他们所使用的神经网络的建立使用了卷积神经网络的元素,比如卷积层、最大池化和扁平化。其中所有的参数都是可学习的。
我们看一下这些数据的尺寸:
很强!AutoKeras还可以处理四维数据(多通道的彩色图像)。我们可以用ImageClassifier创建一个搜索对象(或者创建ImageRegressor用于回归任务)。
*如果您正在运行多个搜索,请在定义搜索对象时添加一个参数overwrite=True (ak.object(overwrite=True, max_trials=x))。否则会出现错误。
文本分类/回归AutoKeras不需要任何文本矢量化操作,这很方便,因为当前有很多方法可以完成这一操作,而且每一种方法的实现都很漫长。在AutoKeras中这一操作是由模型学习的。
X_train和X_test分别是由1128个原始文本字符串组成的数组,y_train和y_test分别是形状(1128, 4)的数组。
*如果您正在运行多个搜索,请在定义搜索对象时添加一个参数overwrite=True (ak.object(overwrite=True, max_trials=x))。否则会出现错误。
有了AutoKeras,深度学习更容易被所有人使用! 感谢您的阅读 😄
|
|