我正在训练在最后一层具有连续输出的卷积网络。最后一层有4个节点。我正在使用均方误差作为损失函数。作为检查,我使用了来自Tensorflow的均方误差。这对于第一批的第一批只给出了相同的结果。因此,我的问题是为什么这些不同?我使用了具有最大池化的卷积层,最后我将其展平并使用了dropout。
此外,我还想知道如何为4个节点计算均方误差?它只是对每个节点的均方误差求和吗?原因当我计算每个节点的均方误差时,没有明确的连接。
这是指标。
def loss(y_true, y_pred):
loss = tf.metrics.mean_squared_error(y_true, y_pred)[1]
K.get_session().run(tf.local_variables_initializer())
return loss
在这里我编译模型
model.compile(loss='mse', optimizer= adam, metrics=[loss, node])
这是我如何计算一个节点的均方误差:
def node(y_true, y_pred):
loss = tf.metrics.mean_squared_error(y_true[:,0], y_pred[:,0])[1]
K.get_session().run(tf.local_variables_initializer())
return node
这是模型的简化形式:
width = height = 128
model = Sequential()
model.add(Convolution2D(filters=64, kernel_size=(5, 5), activation='relu', padding='same',
input_shape=(width, height, 1)))
model.add(MaxPooling2D(pool_size=(3, 3)))
model.add(Flatten())
model.add(Dense(units=256, activation='relu'))
model.add(Dropout(0.4))
model.add(Dense(units=4, activation='linear'))
adam = Adam(lr=0.01, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0)
model.compile(loss='mse', optimizer= adam, metrics=[loss,node])
答案 0 :(得分:0)
您将返回函数本身。
查看您的代码:
<div id='id_1'>this should have longer width</div>
<div id='id_2'>second</div>
<button onclick="increment(10)">Increase width</button>
请先更正此问题。