Как решить проблему с ядрами при одновременном использовании tenorflow и matplotlib? - PullRequest
0 голосов
/ 13 июня 2019

Я хотел бы показать, как NN изучает диск, но когда я тренирую свою модель и после использования matplotlib (или сначала использую matplotlib, а затем обучаю модель), это всегда приводит к сбою ядра.Я не знаю, исходит ли это из моего кода или чего-то более глубокого.

Я попытался запустить ноутбук Jupyter и spyder, обновил все библиотеки.

Это мой NN.

def buildmodel(neurons_on_layers,X_input,X_output,ep,batch):
    le=len(neurons_on_layers)
    ne=neurons_on_layers
    model = Sequential()
    model.add(Dense(ne[0], input_dim = 2,
                    kernel_regularizer=regularizers.l2(0.01),activity_regularizer=regularizers.l1(0.01), 
                    activation='relu'))  #change from 'relu'  
    for j in list(range(1,le)):
        model.add(Dense(ne[j], kernel_regularizer=regularizers.l2(0.01),activity_regularizer=regularizers.l1(0.01), 
                        activation='relu'))    ##changed from 'relu'  'tan'
    model.add(Dense(2, activation='softmax'))
    model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy']) ##normal
    model.fit(X_input,X_output, epochs=ep, batch_size=batch)
    return model 

Это моя функция графика

def plotgrid_network(gridsize, nb_sample, model):
    dataset = grid(gridsize)
    data_input = data(nb_sample,gridsize)
    for point in data_input : 

        dataset[point[0],point[1]] = model.predict_classes(point[np.newaxis,:])+1
        #print("coord=", point, "value=",dataset[point[0],point[1]])
    # create discrete colormap
    cmap = colors.ListedColormap(['white','red', 'blue'])
    bounds = [0,0.5,1.5,2.5]
    norm = colors.BoundaryNorm(bounds, cmap.N)

    fig, ax = plt.subplots()
    ax.imshow(dataset, cmap=cmap, norm=norm)

    # draw gridlines
    ax.grid(which='major', axis='both', linewidth=0)
    ax.set_xticks(np.arange(-.5, gridsize, 1));
    ax.set_yticks(np.arange(-.5, gridsize, 1));

    plt.show()

Когда я изолирую все строки второго кода, он всегда вылетает на линии

fig, ax = plt.subplots()

, если я тренируюсьмоя модель раньше.Но если я не тренируюсь, это работает отлично.У меня также есть функция, которая отображает проблему, но не используя свой NN, а вывод, и когда я сначала запускаю эту функцию графика и после обучения моей модели, она также вылетает до первой эпохи.

Спасибоза помощь, Готье

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