【发布时间】:2021-02-22 19:44:39
【问题描述】:
我正在关注this tutorial 使用 Keras 的 Policy Gradient, 并且无法完全弄清楚以下内容。
在以下情况下,具有不同形状的输入张量究竟是如何馈送到模型的?
图层既不是.concated 也不是.Added。
input1.shape = (4, 4)input2.shape = (4,)- “输入”层有4个神经元,接受
input1+input2作为4d向量??
代码摘录(经过修改使其更简单):
import tensorflow as tf
from tensorflow.keras import layers, models, optimizers
from tensorflow.keras import backend as K
import numpy as np
input = tf.keras.Input(shape=(4, ))
advantages = tf.keras.Input(shape=[1])
dense1 = layers.Dense(32, activation='relu')(input)
dense2 = layers.Dense(32, activation='relu')(dense1)
output = layers.Dense(2, activation='softmax')(dense2)
model = tf.keras.Model(inputs=[input, advantages], outputs=[output])
# *********************************
input1 = np.array(
[[ 4.52281174e-02, 4.31672811e-02, -4.57789579e-02, 4.35560472e-02],
[ 4.60914630e-02, -1.51269339e-01, -4.49078369e-02, 3.21451106e-01],
[ 4.30660763e-02, 4.44624011e-02, -3.84788148e-02, 1.49510297e-02],
[ 4.39553243e-02, -1.50087194e-01, -3.81797942e-02, 2.95249428e-01]]
)
input2 = np.array(
[ 1.60063125, 1.47153674, 1.34113826, 1.20942261]
)
label = np.array(
[[1, 0],
[0, 1],
[1, 0],
[0, 1]]
)
model.compile(optimizer=optimizers.Adam(lr=0.0005), loss="binary_crossentropy")
model.train_on_batch([input1, input2], label)
【问题讨论】:
-
查找批次和样本。
标签: tensorflow keras neural-network