Загрузить большие данные в список с помощью Python - PullRequest
0 голосов
/ 02 июля 2019

Я запускаю код повторной обработки из бумаги.Набор данных Yahoo с 699640226 строками.Я запускаю код, и ошибка была как

> 2nd pass training: 359000000 2nd pass training: 360000000 2nd pass
> training: 361000000 Traceback (most recent call last):   File
> "/usit/abel/u1/cnphuong/.local/opt/nomad/Scripts/convert.py", line 80,
> in <module>
>     train_values.append(float(tokens[2])) MemoryError```
> 2. I run on server with 32 and 60GB ram but there are the same error. 
> 
> ```python
> # now parse the data train_user_indices = list() train_item_indices = list() train_values = list() for index, line in
> enumerate(open(train_filename)):
>     if index % 1000000 == 0:
>         print "2nd pass training:", index
>     tokens = line.split(" ")
>     train_user_indices.append(user_indexer[tokens[0]])
>     train_item_indices.append(item_indexer[tokens[1]])
>     train_values.append(float(tokens[2])) 

. Скажите, пожалуйста, лучший способ добавить все данные в список, потому что автор может работать с файлом (~ 11 ГБ и 699640226)

1 Ответ

0 голосов
/ 02 июля 2019

Если вы используете TensorFlow, уже есть встроенные инструменты, так что вы можете тренироваться по файловой структуре, не загружая всю информацию в ОЗУ.См. документацию .

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