我有以下NN:
cc = Input(shape=(3,))
dd = Dense(1,activation='tanh')(cc)
dense_model3 = Model(inputs=cc, outputs=dd)
# Compile
dense_model3.compile(optimizer='adam', loss='mean_squared_error')
dense_model3.fit(copstage3,y_stage9, batch_size=150, epochs=100)
ypredi3 = dense_model3.predict(copstage3,batch_size=150, steps = None)
当我使用dense_model3.get_weights()
时,我得到:
([array([[0.15411839],
[1.072346 ],
[0.37893268]], dtype=float32), array([-0.13432428], dtype=float32)]
但是,由于我的数据中有150行,所以我希望每行代表150种不同的权重。我想念什么?
答案 0 :(得分:0)
您的模型输入的大小为3,
cc = Input(shape=(3,))
并输出大小为1的
dd = Dense(1,activation='tanh')(cc)
没有中间层。因此权重与给定的三个输入和一个输出关联。
([array([[0.15411839],
[1.072346 ],
[0.37893268]], dtype=float32), array([-0.13432428], dtype=float32)]
哪里
[array([[0.15411839], [1.072346 ], [0.37893268]], dtype=float32)
表示大小为3的输入层的权重
array([-0.13432428], dtype=float32)
代表大小为1的输出层的权重。
150行数据用于训练该层,并且在训练之后,权重与每个单独的神经元或节点相关联。
希望这会有所帮助。