# importing libraries
import numpy as np
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.losses import MSE
# creating keras model
model = tf.keras.Sequential()
model.add(Dense(8, input_shape=(1,), activation='tanh'))
model.add(Dense(4, activation='relu'))
model.add(Dense(1))
# defining optimization parameters
opt=Adam(learning_rate = 1e-3)
# creating input and output variables for training
X = np.arange(1.,10.,1).reshape(-1,1)
Y = np.arange(2.,20.,2).reshape(-1,1)
# defining loss - only one iteration is performed
with tf.GradientTape() as tape:
pred = model(X)
loss = MSE(pred, Y)
# calculating gradients for loss w.r.t model parameters
grads = tape.gradient(loss, model.trainable_variables)
# updating model parameters with above calculated gradients
opt.apply_gradients(zip(grads, model.trainable_weights))
我收到以下错误:
tf.Variable 'UnreadVariable' shape=() dtype=int64, numpy=1
我尝试过:tf.compat.v1.disable_eager_execution()
禁用急切张量执行,但我无法提取任何张量帖子的值。另外我不知道禁用 eagerTensor 是否真的解决了这个问题,因为我无法打印渐变或损失。