tensorflow - logits 和标签必须具有相同的形状 ((None, 4, 1, 2) vs (None, 2))
问题描述
def train(data,model=False):
X= np.array([i[0] for i in data]).reshape(-1,len(data[0][0]),1)
y=np.array([i[1] for i in data])
if model==False:
network = models.Sequential()
network.add(layers.Dense(32,input_shape=[None, len(X[0]), 1], activation='relu'))
# network.add(layers.Flatten())
network.add(layers.Dropout(0.8))
network.add(layers.Dense(64,activation='relu'))
network.add(layers.Dropout(0.8))
network.add(layers.Dense(128,activation='relu'))
network.add(layers.Dropout(0.8))
network.add(layers.Dense(64,activation='relu'))
network.add(layers.Dropout(0.8))
network.add(layers.Dense(32,activation='relu'))
network.add(layers.Dropout(0.8))
network.add(layers.Dense(2,activation='sigmoid'))
network.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
network.fit(X, y, epochs=5, batch_size=128)
return network
以上是我用于 Open AI 健身房环境的 keras 神经网络。我得到了我的数据并像这样存储它
[ [obs , reward , done , info ] , [ 0 , 1 ] ]
[ 0 , 1 ] for 0 and [ 1 , 0 ] for 1.
y变量是[ 0 , 1 ], x变量是 **[obs , reward , done , info ] **
将这些数据拟合到我的神经网络的正确方法是什么?
解决方案
推荐阅读
- java - 使用 log4j2 在 Spring Boot 中自定义日志级别
- angular - Angular 8 - 材料自动完成 - mat-form-field
- javascript - 尝试在 localhost:3000 上的后端和 localhost:8080 上的前端之间建立 socket.io 连接时出现 CORS 错误
- python-3.x - 如何使用 cv2 python 生成视频
- javascript - 如何使用 jquery 将多个文本复制到剪贴板
- spring - 使用服务器 Apache CXF 和 IDE Spring Tool Suite 4 启动 Web 服务时出现错误
- python - 在 FLASK API 中提取特定的 JSON
- unity3d - Unity DOTS (ECS) 中的“FixedUpdate”在哪里?
- scala - 附加输出模式在带有 foreach 接收器的 Spark 结构化流中不起作用
- java - 如何逐列填充二维数组