这是一个片段,它将成功序列化 with dill
,但失败pickle
. 令人惊讶的是,Tensor
对象本身不是可腌制的。这是线程感知张量的基本限制,还是只是没有实现?
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