首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Tensorflow的预训练模型中寻找最优模型的元学习

从Tensorflow的预训练模型中寻找最优模型的元学习
EN

Stack Overflow用户
提问于 2022-02-17 13:03:27
回答 1查看 78关注 0票数 1

我有许多预先训练过的模型有不同的层数(模型不是顺序的)。对于这些模型,训练数据有一个形状(1,1,103),输出是0到9之间的类标签。

我加载了这些保存的模型,将所有层设置为不可训练的。我将这些模型用于新的体系结构,如下所示:

代码语言:javascript
复制
inp = keras.layers.Input(shape=(1,1,103), name = "new_input")

out_1 = model_1(inp) # model_1 is the name of variable where I loaded trained model
out_2 = model_2(inp)
out_3 = model_3(inp)
out_4 = model_4(inp)

x = keras.layers.concatenate([out_1, out_2, out_3, out_4])
out = keras.layers.dense(1)(x)

model = keras.models.Model(inputs=inp, outputs=out, name = "meta_model")

当我用optimizer = "sgd"loss = "mse"编译这个模型时。

直到现在我才得到任何错误,但是当我运行model.fit()时,我得到了一个错误TypeError__:int()参数必须是一个字符串、一个类似字节的对象或一个数字,而不是'NoneType‘。

我不知道我哪里出了问题。

前面的模型使用"adam"优化器和"sparse_categorical_crossentropy"损失进行训练,数据集有10个类。

该模型的目的是用相同的数据对该模型进行训练,并试图找出在先前训练的模型中哪个模型是最优的。

任何其他的解决方案/建议,以找到一个最佳数量的层使用元学习,也将不胜感激。我可以通过尝试和错误手动找到最优的层数,但是我希望元模型能够找到基于数据集的最佳层数。

通过在dataset1上的训练,我发现在7层之后,精确度没有明显的提高,而对于dataset2来说,在4层达到峰值,增加更多的层是无用的。

EN

回答 1

Stack Overflow用户

发布于 2022-02-17 13:28:25

对于超参数调优,我可以推荐雷调。我使用它,我非常喜欢这个框架。

https://docs.ray.io/en/latest/tune/examples/tune_mnist_keras.html

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

https://stackoverflow.com/questions/71158680

复制
相关文章

相似问题

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