我在 keras 有一个 CNN 网络。我在云 GPU 上进行训练。当我运行两次训练时,我得到完全不同的准确率和损失图。我如下设置随机种子,仍然没有运气。有什么遗漏吗?或者这是外部 GPU 上的正常行为?我读到有时它们会因为它们可能使用的某些库而引起随机性?每次跑步时,我都会看到 %2-4 的准确性差异。所以很难判断我的超参数调整。
import numpy as np
np.random.seed(3)
import tensorflow as tf
tf.set_random_seed(4)
import keras
keras.backend.clear_session()
from keras.layers import LeakyReLU
from keras.models import Sequential
from keras.layers import Activation
from keras.layers import Convolution2D, MaxPooling2D, Dropout, Reshape
from keras.layers.pooling import GlobalAveragePooling2D
from keras.optimizers import Adamax, Adadelta, Adagrad, Adam, RMSprop
from keras.callbacks import EarlyStopping, ModelCheckpoint,
ReduceLROnPlateau
from keras.regularizers import l2,l1,l1_l2
from sklearn.metrics import precision_recall_fscore_support,
roc_auc_score
from keras.models import model_from_json
from keras.layers.normalization import BatchNormalization
from sklearn.metrics import confusion_matrix, f1_score,
precision_score, recall_score
import keras.backend as K
from keras.layers import Dense, Dropout, Flatten
from sklearn.preprocessing import Normalizer