大家好,当我运行下面的代码时,我收到问题“UnimplementedError:不支持将字符串转换为 int64”。你们能帮我解决这个问题吗?谢谢。
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation=tf.nn.relu),
tf.keras.layers.Dense(128, activation=tf.nn.relu),
tf.keras.layers.Dense(15, activation=tf.nn.softmax)
])
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
X_train = tf.zeros([3000, 45, 45], tf.float32, '3d')
y_list = list()
for i in range(0,3000):
y_list.append(str(i))
y_train = tf.convert_to_tensor(y_list, tf.string)
model.fit(X_train, y_train, epochs=3)
Run Code Online (Sandbox Code Playgroud)
这是错误消息(我在 Jupyter Notebook,2.1.0 版本的张量流上运行,我的实际程序中的实际 X_train 应该用于图像,但是我觉得这个创建的张量显示得很好):
Train on 3000 samples
Epoch 1/3
32/3000 [..............................] - ETA: 4:22
---------------------------------------------------------------------------
UnimplementedError Traceback (most recent call last)
<ipython-input-111-1a89f1d94518> in <module>
14 y_list.append(str(i))
15 y_train = tf.convert_to_tensor(y_list, tf.string)
---> 16 model.fit(X_train, y_train, …Run Code Online (Sandbox Code Playgroud)