TerminWorkerError: рабочий процесс, управляемый исполнителем, был неожиданно прерван - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь найти оптимальные гиперпараметры для моей модели глубокого обучения.Когда я использовал подход «GridSearchCV» и пытался подгонять свою модель, я заканчивал с ошибкой

«TerminationWorkerError: рабочий процесс, управляемый исполнителем, был неожиданно завершен. Это может быть вызвано ошибкой сегментации, когдавызов функции или чрезмерное использование памяти, из-за которого операционная система убивает работника. Коды выхода работников: {EXIT (1)} "

Я обновил и протестировал библиотеки scipy, иэто отлично работаетЯ не могу использовать n_jobs = -1.Я должен использовать от 1 до 16 процессоров (n_jobs = 16).

Моя платформа: NAME = "Ubuntu" VERSION = "16.04.6 LTS (Xenial Xerus)".Я получаю доступ к sklearn, используя conda 4.7.12 в python 3.6.9.В настоящее время мы не можем обновить Ubuntu!

import pandas as pd
import numpy
import keras
import scipy
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
from keras.optimizers import SGD
from sklearn.externals import joblib
from math import sqrt
import tensorflow as tf
from datetime import datetime


# Make grid input
batch_size  = [1644, 822, 548, 411, 328, 274, 234, 205, 182, 164]
epochs = [10, 50, 100, 150, 200, 250, 300]
learn_rate = [0.00001, 0.0001, 0.001, 0.01, 0.1, 0.2, 0.3]
momentum = [0.0, 0.2, 0.4, 0.6, 0.8, 0.9]
param_grid = dict(epochs = epochs, batch_size = batch_size, learn_rate=learn_rate, momentum=momentum)

# Define model
def get_compiled_model_advanced(learn_rate=learn_rate, momentum=momentum):
    model = tf.keras.Sequential([
        tf.keras.layers.Dense(200, activation='relu'),
        tf.keras.layers.Dense(50, activation='relu'),
        tf.keras.layers.Dense(10, activation='relu'),
        tf.keras.layers.Dense(1, activation='sigmoid')])
    # Compile model
    optimizer = SGD(lr=learn_rate, momentum=momentum, decay=0.5, nesterov=False)
    model.compile(optimizer=optimizer, loss='binary_crossentropy', metrics=['accuracy'])
    return model

model_sgd = KerasClassifier(build_fn=get_compiled_model_advanced, verbose=0)

grid_sgd = GridSearchCV(estimator = model_sgd, param_grid = param_grid, n_jobs = 16, verbose=0)
sgd_fit = grid_sgd.fit(X, Y)

Я бы хотел запустить свою модель!Может кто-нибудь сказать мне, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...