首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Keras Tuner调整优化功能?

如何使用Keras Tuner调整优化功能?
EN

Stack Overflow用户
提问于 2021-04-27 23:26:17
回答 1查看 85关注 0票数 1

如何使用Keras Tuner调整优化功能?我想试试SGD,Adam和RMSprop。

我试过了:

代码语言:javascript
复制
hp_lr = hp.Choice('learning_rate', values=[1e-2, 1e-3, 1e-4])
hp_optimizer = hp.Choice('optimizer', values=[SGD(learning_rate=hp_lr), RMSprop(learning_rate=hp_lr), Adam(learning_rate=hp_lr)])

model.compile(optimizer=hp_optimizer,
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"])

但是这并不像“一个Choice只能包含一种类型的值”那样工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-28 00:05:32

也许最好的方法是这样做:

代码语言:javascript
复制
hp_optimizer = hp.Choice('optimizer', values=['sgd', 'rmsprop', 'adam'])

if hp_optimizer == 'sgd':
    optimizer = SGD(learning_rate=hp_lr)
elif hp_optimizer == 'rmsprop':
    optimizer = RMSprop(learning_rate=hp_lr)
elif hp_optimzier == 'adam':
    optimizer = Adam(learning_rate=hp_lr)
else:
    raise

model.compile(optimizer=optimizer,
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"])

显然,您需要一个更具描述性的异常(或者干脆不管它,因为它无论如何都不会发生)。即使不同的优化器属于同一类,IIRC hp.Choice也只允许整数、浮点数、布尔值和字符串,所以我看不到这样做的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67286051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档