当我运行以下代码时,出现此类型错误:
<块引用>(未实现错误:不支持将字符串转换为浮点数 [[节点顺序_5/Cast(定义于:11)]] [操作:__inference_train_function_4357] 函数调用栈: train_function)
我使用的是 Anaconda(jupyter notebook),python 3.8.5。如何解决这个问题?
import tensorflow as tf
from tensorflow import keras
from sklearn.metrics import confusion_matrix , classification_report
def ANN(X_train, y_train, X_test, y_test, loss, weights):
model = keras.Sequential([
keras.layers.Dense(1, input_dim=1, activation='relu'),
keras.layers.Dense(15, activation='relu'),
keras.layers.Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss=loss, metrics=['accuracy'])
if weights == -1:
model.fit(X_train, y_train, epochs=100)
else:
model.fit(X_train, y_train, epochs=100, class_weight = weights)
print(model.evaluate(X_test, y_test))
y_preds = model.predict(X_test)
y_preds = np.round(y_preds)
print("Classification Report: \n", classification_report(y_test, y_preds))
return y_preds
loss = keras.losses.BinaryCrossentropy()
weights = -1
y_preds = ANN(X_train, y_train, X_test, y_test, 'binary_crossentropy', -1)