shensq04 / EKLAVYA

56 stars 16 forks source link

Problem about error in 'Save the embedding vector' step #6

Open zyc1314 opened 4 years ago

zyc1314 commented 4 years ago

I want to ask what file should be input as the '-p embed_pickle_path' parameter. Is it the pkl files or the embed_info generated before?

For example I run (I am running in python3.6 tensorflow 0.12): python save_embeddings.py -p .../gcc-64-O0-binutils-addr2line.pkl -m .../model_100.ckpt

The error message is: Loading embed input data... Traceback (most recent call last): File "save_embeddings.py", line 121, in main() File "save_embeddings.py", line 62, in main input_data = pickle.load(open(embed_pickle_path)) TypeError: a bytes-like object is required, not 'str'.

melynx commented 4 years ago

The particular error is a result of the difference between python2 and python3. You can probably fix it by just running everything using python2 or modify the open to explicitly open it as a binary file.

pickle.load(open(embed_pickle_path, "rb"))