簡體   English   中英

使用 Tensorflow 2.0 和沒有 Keras 的急切執行

[英]Using Tensorflow 2.0 and eager execution without Keras

所以這個問題可能源於對 tensorflow 缺乏了解。 但我正在嘗試使用tensorflow 2.0構建多層感知器,但沒有Keras

原因是我的機器學習課程要求我們不使用 keras。 為什么你可能會問? 我不知道。

我已經在tensorflow 2.0中用 Keras 輕松實現了我們的 model,現在我想在沒有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 並使用漸變膠帶。 但我仍然不確定如何將這些東西放在一起。

現在我的問題是。 我應該從哪里獲得更好的理解? 哪個方向下降最大?

請告訴我我是否做錯了這個堆棧溢出帖子。 這是我第一次來這里。

正如@Daniel Möller 所說,官方 TensorFlow 頁面上有這些用於自定義訓練自定義層的教程。 如自定義培訓頁面所述:

本教程使用tf.Variable構建和訓練一個簡單的線性 model。

還有這個博客在沒有 Keras API 的情況下創建自定義層和訓練。 您可以在 Google Colab 上查看此代碼,它使用帶有自定義層的 Cifar-10,並以相同的方式進行訓練。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM