【发布时间】:2022-01-05 16:34:56
【问题描述】:
我得到 TypeError: Expected float32, but got auto of type 'str'. 在拟合顺序模型时出错。 我检查了我的输入都是 numpy.ndarray。
type(xtrain),type(ytrain)
(numpy.ndarray, numpy.ndarray)
model = tf.keras.Sequential()
model.add(tf.keras.layers.Flatten(input_shape = (28,28)))
model.add(tf.keras.layers.Dense(32,activation='relu'))
model.add(tf.keras.layers.Dense(32,activation='relu'))
model.add(tf.keras.layers.Dense(10,activation=tf.keras.activations.softmax))
model.compile(loss = tf.keras.losses.SparseCategoricalCrossentropy,optimizer =
tf.keras.optimizers.Adam(learning_rate=.0001),metrics = ['accuracy'])
model.fit(x =xtrain,y = ytrain,epochs=100)
Epoch 1/100
TypeError Traceback(最近一次调用最后一次) 在 () ----> 1 model.fit(x =xtrain,y = ytrain,epochs=100)
1 帧 /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/func_graph.py in autograph_handler(*args, **kwargs) 1127 例外为 e:# pylint:disable=broad-except 1128 如果有属性(例如,“ag_error_metadata”): -> 1129 引发 e.ag_error_metadata.to_exception(e) 1130 其他: 第1131章
TypeError:在用户代码中:
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 878, in train_function *
return step_function(self, iterator)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 867, in step_function **
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 860, in run_step **
outputs = model.train_step(data)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 810, in train_step
y, y_pred, sample_weight, regularization_losses=self.losses)
File "/usr/local/lib/python3.7/dist-packages/keras/engine/compile_utils.py", line 201, in __call__
loss_value = loss_obj(y_t, y_p, sample_weight=sw)
File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 141, in __call__
losses = call_fn(y_true, y_pred)
File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 245, in call **
return ag_fn(y_true, y_pred, **self._fn_kwargs)
File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 752, in __init__ **
from_logits=from_logits)
File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 227, in __init__
super().__init__(reduction=reduction, name=name)
File "/usr/local/lib/python3.7/dist-packages/keras/losses.py", line 88, in __init__
losses_utils.ReductionV2.validate(reduction)
File "/usr/local/lib/python3.7/dist-packages/keras/utils/losses_utils.py", line 82, in validate
if key not in cls.all():
TypeError: Expected float32, but got auto of type 'str'.
【问题讨论】:
标签: python tensorflow deep-learning typeerror tensorflow2.0