Google Colab, не могу засолить мой defaultdict - recursionerror - PullRequest
1 голос
/ 07 ноября 2019

Я использую Google Colab. Я сделал именно то, что пытаюсь сделать много раз, поэтому я не знаю, почему это не работает сейчас.

Все, что я делаю, - это создаю словарь, содержащий около 1000 ключей, и каждое значение является списком. из 4 строк. Я подтвердил, что словарь - это именно то, что я думаю.

Я использую joblib. Я также попробовал только, pickle.dump.

dump(mydict,'/content/gdrive/My Drive/mydict.joblib')

Это приводит к:

---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-5-7edb860e5e4b> in <module>()
----> 1 dump(newdict,'/content/gdrive/My Drive/refs2019.joblib')

74 frames
... (skipped 134 stack entries. Use sys.last_value and sys.last_traceback to investigate further.) ...
... last 203 frames repeated, from the frame below ...

/usr/lib/python3.6/pickle.py in save(self, obj, save_persistent_id)
    519 
    520         # Save the reduce() output and finally memoize the object
--> 521         self.save_reduce(obj=obj, *rv)
    522 
    523     def persistent_id(self, obj):

RecursionError: maximum recursion depth exceeded in comparison

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

Есть совет? Я не уверен что делать. Может быть, попробуйте еще раз позже? Мне было бы немного грустно, если бы это было так.

1 Ответ

1 голос
/ 07 ноября 2019

Хорошо, это сводило меня с ума, но я в конце концов понял это. У меня был defaultdict (список) того, что я считал строками.

Но на самом деле это были какие-то красивые суповые объекты, возникающие в результате вызова table.string.

Немного вводит в заблуждение. И, видимо, это полностью испортит любой вид травления. Также провалил мою попытку создания дампов json.

Я исправил это, явным образом приведя их к строкам, и теперь он фактически засолится.

...