#python #tensorflow #machine-learning #deep-learning #data-science
Вопрос:
Я создаю модель на основе набора данных прогнозирования фрагментов кода. Существуют фрагменты кода для 3 языков Python, Java и C . Для всех 3 из них имеется почти 8500 фрагментов кода. Я провел на них машинное обучение, результаты потрясающие. но при глубоком обучении код даже не запускается и дает отрицательные потери, а также ошибки, см. Ниже. Это изображение ошибки
Пожалуйста, помогите мне в этом вопросе. Действительно нужен кто-то, чтобы присматривать за ним.Это образец набора данных
X = struct_data_new.code
y = struct_data_new.lang
# Train/Test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
tokenized = []
for train in X_train:
tokenized.append(WhitespaceTokenizer().tokenize(train))
def preprocess(x):
return pd.Series(x).replace(r'b([A-Za-z])1 b', '', regex=True)
.replace(r'b[A-Za-z]b', '', regex=True)
transformer = FunctionTransformer(preprocess)
X_train_trans = transformer.fit_transform(X_train)
X_test_trans = transformer.transform(X_test)
token_pattern = r"""([A-Za-z_]w*b|[!#$%amp;* :-./<=>?@\^_|~] |[ t(),;{}[]"'`])"""
vectorizer = TfidfVectorizer(token_pattern=token_pattern, max_features=20000)
X_train_vec = vectorizer.fit_transform(X_train_trans)
X_test_vec = vectorizer.transform(X_test_trans)
from sklearn.preprocessing import LabelEncoder
lb = LabelEncoder()
y_train_l = lb.fit_transform(y_train)
y_test_l = lb.transform(y_test)
input_dim = X_train_vec.shape[1]
model = Sequential()
model.add(Dense(128, input_dim=input_dim, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['mse'])
model.summary()
history = model.fit(X_train_vec, y_train_l,
epochs=100,
verbose=1,
validation_data=(X_test_vec,y_test),
batch_size=10)
ошибка:
Ошибка невыполнения: Приведенная строка с плавающей точкой не поддерживается [[двоичный код узла_кроссентропия/Приведение (определено в AppDataLocalTemp/ipykernel_2436/3792991187.py:1) ]] [Операция:__вывод_тест_функция_47255]
Стек вызовов функций: test_function
Это ошибка, я также использовал кодировщик меток для 3 классов.
Комментарии:
1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.