Keras官方出调参工具了,然而Francois说先别急着用

栏目: 编程工具 · 发布时间: 5年前

内容简介:Keras Tuner GitHub 地址:https://github.com/keras-team/keras-tuner早在上个月举办的谷歌 I/O 大会上,谷歌即展示了 Keras Tuner 的功能。Keras 作者 François Chollet 也发推介绍了该工具。

Keras Tuner GitHub 地址:https://github.com/keras-team/keras-tuner

早在上个月举办的谷歌 I/O 大会上,谷歌即展示了 Keras Tuner 的功能。Keras 作者 François Chollet 也发推介绍了该工具。

Keras官方出调参 <a href='https://www.codercto.com/tool.html'>工具</a> 了,然而Francois说先别急着用

What is Keras Tuner?

据介绍,Keras Tuner 是专为 AI 从业者、hypertuner 算法创建者和模型设计人员开发的一款简单高效调参框架。它提供干净简单的 API,用户只需改变几行代码即可完成模型调参工作。

除了简单直观的 API 之外,Keras Tuner 还提供 SOTA hypertuner 算法、可调整的架构,以及无缝实验记录功能。

Keras官方出调参工具了,然而Francois说先别急着用

此外,它还可用于TensorBoard、Colab、BigQuery、Command line 等。

Keras官方出调参工具了,然而Francois说先别急着用

谷歌 Elie Bursztein 在 I/O 大会上还展示了 Keras Tuner 使用示例:Keras Tuner 通过改变少量代码即可将分类器 ResNet101v2 进行调参,生成的模型相比原模型准确率提高了 20%,参数量减少了 45%!

Keras官方出调参工具了,然而Francois说先别急着用

Keras官方出调参工具了,然而Francois说先别急着用

此外,Keras Tuner 还提供 Online dashboard,用户可以实时在线观察模型训练状况。

Keras Tuner 使用示例

目前,Keras Tuner GitHub 项目中也给出了两个示例。

1. 使用 Keras Tuner 目前的 API 在 MNIST 数据集上进行模型调参:

<code>from tensorflow import keras</code><code>from tensorflow.keras import layers</code><code>import numpy as np</code><code>from kerastuner.tuners import GridSearch</code><code>from kerastuner.distributions import Range, Choice</code><code>(x, y), (val_x, val_y) = keras.datasets.mnist.load_data()</code><code>x = x.astype('float32') / 255.</code><code>val_x = val_x.astype('float32') / 255.</code><code>"""Basic case:</code><code>- We define a `build_model` function</code><code>- It returns a compiled model</code><code>- It uses hyperparameters defined on the fly</code><code>"""</code><code>def build_model():</code><code> model = keras.Sequential()</code><code> model.add(layers.Flatten(input_shape=(28, 28)))</code><code> for i in range(Range('num_layers', 2, 20)):</code><code> model.add(layers.Dense(units=Range('units_' + str(i), 32, 512, 32),</code><code> activation='relu'))</code><code> model.add(layers.Dense(10, activation='softmax'))</code><code> model.compile(</code><code> optimizer=keras.optimizers.Adam(</code><code> Choice('learning_rate', [1e-2, 1e-3, 1e-4])),</code><code> loss='sparse_categorical_crossentropy',</code><code> metrics=['accuracy'])</code><code> return model</code><code>tuner = GridSearch(</code><code> build_model,</code><code> objective='val_accuracy',</code><code> num_executions=2)</code><code>tuner.search(x=x,</code><code> y=y,</code><code> validation_data=(val_x, val_y))</code>

2. 使用 Keras Tuner 未来 API 在 MNIST 数据集上进行模型调参:

<code>from tensorflow import keras</code><code>from tensorflow.keras import layers</code><code>import numpy as np</code><code>from kerastuner.tuner import SequentialRandomSearch</code><code>(x, y), (val_x, val_y) = keras.datasets.mnist.load_data()</code><code>x = x.astype('float32') / 255.val_x = val_x.astype('float32') / 255.</code><code>"""Basic case:</code><code>- We define a `build_model` function</code><code>-It returns a compiled model</code><code>-It uses hyperparameters defined on the fly</code><code>"""</code><code>def build_model(hp):</code><code> model = keras.Sequential()</code><code> model.add(layers.Flatten(input_shape=(28, 28)))</code><code> for i in range(hp.Range('num_layers', 2, 20)):</code><code> model.add(layers.Dense(units=hp.Range('units_' + str(i), 32, 512, 32),</code><code> activation='relu'))</code><code> model.add(layers.Dense(10, activation='softmax'))</code><code> model.compile(</code><code> optimizer=keras.optimizers.Adam(</code><code> hp.Choice('learning_rate', [1e-2, 1e-3, 1e-4])), </code><code> loss='sparse_categorical_crossentropy', </code><code> metrics=['accuracy'])</code><code> return model</code><code>tuner = SequentialRandomSearch(</code><code> build_model, </code><code> objective='val_accuracy')</code><code>tuner.search(trials=2, </code><code> x=x, </code><code> y=y, </code><code> epochs=5, </code><code> validation_data=(val_x, val_y))</code>

Keras 作者 François Chollet 有话说

这两天,有 reddit 网友发帖介绍了这个强大的工具,引发热议。然而第一热评(来自 Keras 作者 François Chollet!)「及时」泼了盆冷水:

目前 Keras Tuner 是 pre-alpha 版,大家先不要使用。它目前仅具备随机搜索和 HyperBand 功能。

接下来,API 将有大量改变。Beta 版的发布至少还要等好几个月,发行后,该工具将允许使用大量不同技术进行分布式调参,同时 Keras Tuner 将集成 Google Cloud tuning API。

同时他表示,欢迎社区积极贡献,Keras 团队将在 Keras Tuner API 更加稳定后,在 GitHub repo 中发布路线图。

参考内容:

https://www.reddit.com/r/MachineLearning/comments/bzs5r9/n_keras_tuner_official_hyperparameter_tuning/

https://elie.net/static/files/cutting-edge-tensorflow-keras-tuner-hypertuning-for-humans/cutting-edge-tensorflow-keras-tuner-hypertuning-for-humans-slides.pdf


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

日赚500元

日赚500元

董俊峰 / 2008-5 / 20.00元

《日赚500元:揭开网络赚钱的秘密》是一本大学生网络创业必看的图书,一本想在网络上创业的人必看的图书。懂懂团队第一个操作Google FireFox下载项目,第一个操作“域名停靠”项目。第一个操作Google账号推介项目。首次提出“网赚”这个概念,并创造性地将“网赚”的过程分为3个阶段。《日赚500元:揭开网络赚钱的秘密》揭开了网络上一些行为的本质。一起来看看 《日赚500元》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具