所以这个问题可能源于对 tensorflow 缺乏了解。但我正在尝试构建一个多层感知器tensorflow 2.0
,但没有Keras
。
原因是我的机器学习课程要求我们不使用 keras。为什么你可能会问?我不知道。
我已经tensorflow 2.0
用 Keras 轻松实现了我们的模型,现在我想在没有keras
.
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=784))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(5, activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=Adam(),
metrics=['accuracy'])
X_train = X[:7000]
y_train = tf.keras.utils.to_categorical(y[:7000], num_classes=5)
X_dev = X[7000:]
y_dev = tf.keras.utils.to_categorical(y[7000:], num_classes=5)
model.fit(X_train, y_train,
epochs=100,
batch_size=128)
score = model.evaluate(X_dev, y_dev, batch_size=128)
print(score)
这是我的问题。每当我在 上查找文档时Tensorflow 2.0
,甚至自定义培训指南都在使用 Keras。
据我了解,占位符和会话已成为过去tensorflow 2.0
,因此我有点不确定如何构建它。
我可以制作张量对象。我的印象是我需要使用 Eager Execution 并使用渐变胶带。但我仍然不确定如何将这些东西放在一起。
现在我的问题是。我应该从哪里获得更好的理解?哪个方向下降最大?
请告诉我我是否做错了这个堆栈溢出帖子。这是我第一次来这里。