Точность обучения и проверки Keras остается неизменной на протяжении всего обучения.Есть идеи? - PullRequest
0 голосов
/ 29 ноября 2018

тренировочный скриншот Я использую распределенную по времени модель, и моя точность остается неизменной на протяжении всего тренировочного процесса.Мои входные данные имеют формат (579,3368,368,1).579 в количестве образцов и 3 в последовательности изображений в каждом образце.Масштабирование всех изображений, прежде чем я добавлю их и разделю на тренировку и тестирование.

# loop through all the DICOM files
for filenameDCM in lstFilesDCM:
    # read the file
    res = img_resize(pydicom.read_file(filenameDCM).pixel_array,368)

    # store the raw image data
    test_array.append(preprocessing.scale(res))

test_finale = np.asarray(test_array).reshape(len(lstFilesDCM),368,368)
test_finale = test_finale.reshape(len(lstFilesDCM),368,368,1)
sequence_list = [[test_finale[i-2],test_finale[i-1],test_finale[i]] for i in range(2,test_finale.shape[0],3)]
sequence_list = np.asarray(sequence_list)
labels = np.zeros(579, dtype=int)
labels[:134] = 1
labels = to_categorical(labels, num_classes = 2)

X_train, X_test, y_train, y_test = train_test_split(sequence_list,labels, test_size=0.4, random_state=42)
#scaler = StandardScaler()

#X_train = scaler.fit_transform(X_train)
#X_test = scaler.fit(X_test)
#y_train = y
#y_test = y


model = Sequential()
model.add(TimeDistributed(Conv2D(64,(3,3),input_shape = (3,None,None,1), activation = 'relu',strides = 1, padding = 'same')))
model.add(TimeDistributed(Conv2D(64,(3,3), activation = 'relu',strides = 1, padding = 'same')))
model.add(TimeDistributed(MaxPool2D(pool_size = (2,2), strides = 2)))

#model.add(TimeDistributed(Dropout(0.1))

#model.add(TimeDistributed(Dropout(0.2))

model.add(TimeDistributed(Dense(128,activation ='sigmoid')))
#model.add(TimeDistributed(Dropout(0.2))

#model.add(TimeDistributed(Dense(128, activation = 'relu')))

model.add(TimeDistributed(GlobalAveragePooling2D()))

model.add(LSTM(32))
#model.add(Dense(256, activation = 'relu'))
model.add(Dense(2,activation='softmax'))

#opt = SGD(lr=0.001)
model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['categorical_accuracy'] )


model.fit(X_train,y_train,validation_data=(X_test,y_test),epochs = 10, batch_size = 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...