clvoloshin / COBS

OPE Tools based on Empirical Study of Off Policy Policy Estimation paper.
61 stars 14 forks source link

paper branch: ModuleNotFoundError: No module named 'ope.algos.approximate_model' #18

Open liuqi8827 opened 2 years ago

liuqi8827 commented 2 years ago

Hi,

  1. I git clone the paper branch. When I run python paper.py local base_toy_graph_cfg.json -m MFree_Retrace_L MFree_MRDR MFree_IH MFree_FQE MBased_MLE MFree_Reg IS The error occurred:

    Traceback (most recent call last):
    File "paper.py", line 36, in <module>
    from ope.algos.approximate_model import ApproxModel
    ModuleNotFoundError: No module named 'ope.algos.approximate_model'

I found that in paper branch, there is no such file called approximate_model.py in /ope/algos/. approximate_model.py is only contained in the master branch in /ope/algos/.

  1. I commented the line 36 code (from ope.algos.approximate_model import ApproxModel) in paper.py. Then I run python paper.py local base_toy_graph_cfg.json -m MFree_Retrace_L MFree_MRDR MFree_IH MFree_FQE MFree_Reg IS The code can run some steps, and the error occurred: [1] 15320 segmentation fault (core dumped) python paper.py local base_toy_graph_cfg.json -m MFree_Retrace_L MFree_MRDR

Can you give me some suggestions? Thanks a lot!

clvoloshin commented 2 years ago

Im having issues running this branch because I've upgraded to an M1 mac and tensorflow 1.5 seems to really want an x86 architecture. Can you post the full stack trace for the second issue?

For the first issue, it seems to be a missing file. I have added it. Thanks

liuqi8827 commented 2 years ago

Thans for your quick and helpful reply.

For the second issue, I added the following two lines code in paper.py to get the traceback of the segmentation fault:

import faulthandler
faulthandler.enable()

Then I run python -X faulthandler paper.py local base_toy_graph_cfg.json -m MFree_Retrace_L MFree_MRDR MFree_IH MFree_FQE MFree_Reg IS The segmentation fault (core dumped) error occurred, and all the outputs were stored in: output.txt

Maybe this error is caused by matplotlib as shown in output.txt

Fatal Python error: Segmentation fault
Thread 0x00007f14191d5700 (most recent call first):
  File "/home/lq/anaconda3/envs/py3.6-VAE/lib/python3.6/site-packages/matplotlib/_pylab_helpers.py", line 89 in destroy_all
[1]  + 31910 segmentation fault (core dumped)  nohup python -X faulthandler paper.py local base_toy_graph_cfg.json -m      I

I had run many times, the above error shown at each time. I am wondering whether this link (https://github.com/matplotlib/matplotlib/issues/17061/) can help me. However, I did not find the method on solving the Segmentation fault of my problem.

2. For the first issue, I downloaded the file that you added.

  1. My computer is: Ubuntu 16.04 Python 3.6.12 tensorflow-gpu 2.2.0 matplotlib 3.3.4

Thanks a lot!

clvoloshin commented 2 years ago

I'm not sure what the matplotlib issue is -- try downgrading matplotlib.

As for the error, those errors are what you want! They're relative error with respect to the baseline "On-Policy". The farther you are from "On-Policy" the worse the method is. The idea is that you want an off-policy evaluation method to be as close to on-policy as possible.

liuqi8827 commented 2 years ago

I understand those errors are what I want. Just now, my brain was short circuited. I will downgraded matplotlib and try again. Thanks a lot!

clvoloshin commented 2 years ago

Great, let me know. It seems like the command nearly finished, it went through all of the methods you asked of it. I wonder what the matplotlib issue is. It might be that the command finished with a pdb breakpoint and matplotlib doesnt like that.