from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import statistics
import keras
import numpy as np
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
import tensorflow as tf
import textdistance
import sys
print(tf.executing_eagerly())
def custom_error_finder(y_actual,y_pred):
print(tf.executing_eagerly())
count = 0
ya = ((y_actual[0].numpy()).decode())
yp = ((y_pred[0].numpy()).decode())
for i,j in ya,yp:
if i!=j:
count = count+1
mse = pow(count,2)/len(ya)
return mse
model = Sequential()
scraper_data = pd.read_csv("C:/Users/Desktop/Projects/Chatbot/Combined_new.csv")
scraper_data_columns = scraper_data.columns
predictors = scraper_data["Given"]
target = scraper_data['Target']
X_train, X_test, y_train, y_test = train_test_split(predictors, target, test_size=0.3, random_state=42)
n_cols = predictors.shape[0]
model.add(Dense(1, activation = 'relu', input_shape = (n_cols,)))
model.add(Dense(10, activation = 'relu'))
model.add(Dense(10, activation = 'relu'))
model.add(Dense(1, activation = 'relu'))
model.compile(optimizer = 'adam',run_eagerly=True, loss = custom_error_finder)
model.run_eagerly = True
model.fit(X_train, y_train,epochs=200)
predictions = model.predict(X_test)
我对设计深度学习模型非常陌生,这实际上是我的第一个模型。
我已经定义了一个自定义错误指标,由于某种原因,我收到了这个错误:
AttributeError: 'Tensor' object has no attribute 'numpy'
我不知道这是否有帮助,但外部“print(tf.executing_eagerly())”打印“True”,而内部打印“False”。
“y_actual”是数据集中的真实值,“y_pred”是模型的预测值。
我真的很感谢我能在这方面得到的任何帮助,因为我已经研究这个模型好几个星期了。
提前致谢。
(“Given”列中包含字符串,“Target”列包含我试图从“Given”列中提取的字符串)