【发布时间】:2020-05-02 12:24:43
【问题描述】:
我认为我的神经网络可以重现,但事实并非如此!结果没有显着差异,但例如损失与一次运行相差约 0.1。 这是我的代码!
# Code reproduzierbar machen
from numpy.random import seed
seed(0)
from tensorflow import set_random_seed
set_random_seed(0)
# Importiere Datasets (Training und Test)
import pandas as pd
poker_train = pd.read_csv("C:/Users/elihe/Documents/Studium Master/WS 19 und 20/Softwareprojekt/poker-hand-training-true.data")
poker_test = pd.read_csv("C:/Users/elihe/Documents/Studium Master/WS 19 und 20/Softwareprojekt/poker-hand-testing.data")
from sklearn.preprocessing import OneHotEncoder
# Trainings- und Testset in Input und Output verwandeln
X_tr = poker_train.iloc[:, 0:10].values
y_tr = poker_train.iloc[:, 10:11].values
X_te = poker_test.iloc[:, 0:10].values
y_te = poker_test.iloc[:, 10:11].values
# Output in 0-1-Vektoren verwandeln
encode = OneHotEncoder(categories = 'auto')
y_train = encode.fit_transform(y_tr).toarray()
y_test = encode.fit_transform(y_te).toarray()
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_tr)
X_test = sc.transform(X_te)
# NN mit Keras erstellen
import keras
from keras.models import Sequential
from keras.layers import Dense
nen.add(Dense(400, input_dim = 10, activation = 'sigmoid'))
nen.add(Dense(400, activation = 'sigmoid'))
nen.add(Dense(10, activation = 'softmax'))
from keras.optimizers import RMSprop
nen.compile(loss='binary_crossentropy', optimizer=RMSprop(0.001), metrics=['accuracy'])
nen_fit = nen.fit(X_train, y_train,epochs=30, batch_size=15, verbose=1, validation_split = 0.2, shuffle = False)
我认为我可以通过前几行使其可重现...有人可以帮忙吗?我用谷歌搜索了很多,但没有任何帮助。有一点点差异是正常的吗?我想让它完全(!)可重现。
顺便说一句,请忽略我在代码中的 cmets..我是德国人 :) 你必须知道我是神经网络的新手!
【问题讨论】:
标签: python tensorflow keras neural-network