금주 수업 프로그램 4-5와 그에 관련된 문제에 질문 있습니다
69~72페이지에 있는 프로그램 코드를 따와서 훈련 및 테스트 집합을 MNIST로 불러왔는데,
n_jobs 옵션을 넣을때 함수가 계속
validation_curve()->__call__()->retrieve()->wrap_future_result()->result()->wait()
위 상태에서 바뀌질 않습니다.
validation_curve함수에서 n_jobs부분을 빼서 하나의 스레드로만 돌릴경우 실시간으로 어느 함수가 처리되는지 볼 수 있는데, 이 경우엔 1시간 반이 지나도 validation_curve 함수에서 탈출하지 못했습니다.
from sklearn import datasets from sklearn.datasets import fetch_openml from sklearn.neural_network import MLPClassifier from sklearn.model_selection import train_test_split, validation_curve import numpy as np import matplotlib.pyplot as plt import time mnist = fetch_openml('mnist_784') mnist.data = (mnist.data/255) x_train = mnist.data[:60000] x_test = mnist.data[60000:] y_train = np.int16(mnist.target[:60000]) y_test = np.int16(mnist.target[60000:]) start= time.time() mlp = MLPClassifier(learning_rate_init=0.001, batch_size=32, max_iter = 300, solver = 'sgd') prange = range(50,1001,50) train_score, test_score = validation_curve(mlp,x_train,y_train,param_name="hidden_layer_sizes", param_range=prange, cv=10, scoring="accuracy",n_jobs=4)
validation_curve함수에서 시간이 엄청 소요되는데 이게 정상적인 것인지, 아니면 코드에 이상이 있어서 무한루프가 도는것인지, 또 n_jobs로 병렬처리시에 colab에서
wait()함수에서 멈춰있는게 정상인지 궁금해서 질문드립니다
또, 지금 n_jobs 로 병렬처리 없이 코드를 돌리는 중인데 4시간이 넘어도 validation_curve함수를 탈출 못하고 있는데 정상인지, 아니면 위 코드에 이상이 있는지 궁금합니다.