unfortunately, if you use python 2.* you will face problem with pickle load:
akangaziz:practical_seq2seq mmdc$ python 03-Twitter-chatbot.pyTraceback (most recent call last): File "03-Twitter-chatbot.py", line 11, in <module> metadata, idx_q, idx_a = data.load_data(PATH='datasets/twitter/') File "/Users/mmdc/tf/practical_seq2seq/datasets/twitter/data.py", line 206, in load_data metadata = pickle.load(f) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load return Unpickler(file).load() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load dispatch[key](self) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 886, in load_proto raise ValueError, "unsupported pickle protocol: %d" % proto ValueError: unsupported pickle protocol: 3
as shared here and here , it's because of backward-incompatible.
here is quick workaround for those who face this problem in python (esp python 2.7):
file: practical_seq2seq/datasets/twitter/data.py
line: 206
change this code:
metadata = pickle.load(f)
unfortunately, if you use python 2.* you will face problem with pickle load:
akangaziz:practical_seq2seq mmdc$ python 03-Twitter-chatbot.py
Traceback (most recent call last): File "03-Twitter-chatbot.py", line 11, in <module> metadata, idx_q, idx_a = data.load_data(PATH='datasets/twitter/') File "/Users/mmdc/tf/practical_seq2seq/datasets/twitter/data.py", line 206, in load_data metadata = pickle.load(f) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 1378, in load return Unpickler(file).load() File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 858, in load dispatch[key](self) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.py", line 886, in load_proto raise ValueError, "unsupported pickle protocol: %d" % proto ValueError: unsupported pickle protocol: 3
as shared here and here , it's because of backward-incompatible.
here is quick workaround for those who face this problem in python (esp python 2.7): file: practical_seq2seq/datasets/twitter/data.py line: 206 change this code:
metadata = pickle.load(f)
to this code:
metadata = pickle.dump(pickle.load(sys.stdin), sys.stdout, 2)
and everything will work like a magic :) good luck, buddy.