我如何知道我的张量流结构是否适合我的问题?

问题描述 投票:0回答:1

下面有两组非常相似的代码,输入非常简单,作为我的问题的一个说明性示例。我认为对以下观察的解释可以某种方式回答我的问题。谢谢!

当我运行以下代码时,可以快速训练模型并预测良好的结果。

import tensorflow as tf
import numpy as np
from tensorflow import keras
model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
model.compile(optimizer='sgd', loss='mean_squared_error')

model.fit(xs, ys, epochs=1000)
print(model.predict([7.0]))

然而,当我运行以下代码时,它与上面的代码非常相似,模型训练非常缓慢,可能没有经过良好的训练并给出错误的预测(即,上面的代码很容易损失<1但是保持在20000,代码如下)


model = keras.Sequential()# Your Code Here#
model.add(keras.layers.Dense(2,activation = 'relu',input_shape = (1,)))
model.add(keras.layers.Dense(1))
#model.compile(optimizer=tf.train.AdamOptimizer(0.1),
              #loss='mean_squared_error')

model.compile(optimizer = tf.train.AdamOptimizer(1),loss = 'mean_squared_error')

#model.compile(# Your Code Here#)

xs = np.array([1,2,3,4,5,6,7,8,9,10], dtype=float)# Your Code Here#
ys = np.array([100,150,200,250,300,350,400,450,500,550], dtype=float)# Your Code Here#
model.fit(xs,ys,epochs = 1000)
print(model.predict([7.0]))

还有一点需要注意:当我使用第二组代码训练我的模型时,模型可能偶尔训练有素(大约10次中有8次没有训练有素,并且在1000个时期之后损失仍然> 10000)。

python-3.x tensorflow
1个回答
0
投票

我认为没有任何直接方法可以选择最佳深度架构,而是通过改变超参数和改变架构来进行多次实验。比较每个实验的性能并选择最佳实验。下面列出的文章很少,可能对您有所帮助。 link-1link-2link-3

© www.soinside.com 2019 - 2024. All rights reserved.