Ядро Jupyter занято после выполнения кода - PullRequest
0 голосов
/ 06 сентября 2018

Я использую Jupyter Notebook с conda и Python 3. В последнее время ядро ​​занято даже после того, как выполнение кода завершено, и время выполнения намного больше обычного. Я искал вокруг, но нет результата. Есть предложения?

Редактировать: извините за слишком общий. Я пытаюсь определить проблему самостоятельно, поэтому любое направление будет оценено. После повторного запуска кода несколько раз, кажется, что всякий раз, когда я запускаю следующий блок кода, это происходит:

train_X = np.array(train_X)
train_Y = np.array(train_Y)

Предыдущий код выглядит следующим образом:

# In[1]:    
import pandas as pd
from collections import OrderedDict    

# In[2]:   
df = pd.read_csv('df.csv')
people_list = df['ID'].unique()
product_list = df['product'].unique() 

# Out[2]:
    ID  product     M1  M2  M3  class
0   0   A           1   2   6   1
1   1   B           2   3   7   1
2   2   C           3   4   3   0
3   0   C           4   3   2   1
4   1   A           5   4   3   1
5   2   B           6   6   1   0  

# In[3]:    
people_dict = {}
target_dict = {}

for i in range(len(people_list)):
    key = people_list[i]
    new_df = df[df['ID'] == people_list[i]]
    new_df = new_df.transpose()
    new_df.columns = new_df.iloc[1]
    new_df = new_df[2:-1]   
    people_dict[key] = new_df
    target_dict[key] = df.iat[i, 5]

for key in people_dict.keys():
    for i in product_list:
        if i not in people_dict[key].columns:
            people_dict[key][i] = [0]*3
    people_dict[key] = people_dict[key].reindex(sorted(people_dict[key].columns), axis = 1)

# In[5]:    
people_values = OrderedDict()
target_values = OrderedDict()

# extract the value of the dataframe
for key in people_dict.keys():
    people_values[key] = people_dict[key].values
    target_values[key] = target_dict[key]

# In[6]:
n_samples = 1
timestes = 3
n_features = 3

train_input = list(people_values.values())
train_target = list(target_values.values())

train_X = []
train_Y = []

for i in range(len(train_input)):
    train_X.append(train_input[i])
    train_Y.append(train_target[i])

# In[7]:
train_X = np.array(train_X)
train_Y = np.array(train_Y)

По сути, я пытаюсь провести некоторую классификацию с Keras LSTM, и входные данные - это исторические продажи за 1 человека, выходные данные - их класс, «хороший» или «плохой».

Реальный набор данных имеет 60 тыс. Строк, но я упростил набор данных, чтобы каждый мог следовать за ним более легко. Когда я работал с этим набором данных ранее, я никогда не сталкивался с этой проблемой.

Любые предложения с благодарностью, спасибо.

1 Ответ

0 голосов
/ 13 сентября 2018

Оказывается, это просто проблема с преобразованием переменной в массив numpy, как показано здесь . Я просто работал над этим.

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