dill
でシリアル化に成功するスニペットですが、pickle
で失敗します。 Tensor
のオブジェクトがネイティブにpickleableでないことは驚くべきことです。これはスレッド対応のテンソルの基本的な制限ですか、それとも実装されていないのですか?酸洗いテンソルフローテンソルが失敗するのはなぜですか?
import dill
import pickle
import tensorflow as tf
dill.dumps(tf.zeros((1,1)))
print("Dill succeeded")
pickle.dumps(tf.zeros((1,1)))
print("Pickle succeeded")
出力:
$ python foo.py
Dill succeeded
Traceback (most recent call last):
File "foo.py", line 7, in <module>
pickle.dumps(tf.zeros((1,1)))
TypeError: can't pickle _thread.lock objects
可能な複製http://stackoverflow.com/questions/39286665/how-to-avoid-pickling-errors-when-sharing-objects-between-threads – DyZ