5

I am using the cleanrl library, in particular the script dqn_atari.py dqn_atari.py where I followed the instructions in order to save and load the target and Q-network.

I am running it locally within a conda environment.

I haven't loaded something before, so the error may be due to my wandb configuration. The error is "wandb: ERROR Permission denied to access wandb_entity/wandb_project_name/project_id" and appears on line:

model = run.file("agent.pt")

The full output is:

wandb: Currently logged in as: elena (use `wandb login --relogin` to force relogin)
    wandb: Tracking run with wandb version 0.12.15
wandb: Run data is saved locally in /home/elena/workspace/playground/cleanrl/wandb/run-20220424_180429-2moec0qp
wandb: Run `wandb offline` to turn off syncing.
wandb: Resuming run BreakoutNoFrameskip-v4__dqn-save__1__1650816268
wandb: ⭐ View project at https://wandb.ai/elena/test
wandb:  View run at https://wandb.ai/elena/test/runs/2moec0qp
A.L.E: Arcade Learning Environment (version 0.7.4+069f8bd)
[Powered by Stella]
/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/stable_baselines3/common/buffers.py:219: UserWarning: This system does not have apparently enough memory to store the complete replay buffer 28.24GB > 8.35GB
  warnings.warn(
wandb: ERROR Permission denied to access elena/test/2moec0qp
Traceback (most recent call last):
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 102, in __call__
    result = self._call_fn(*args, **kwargs)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/apis/public.py", line 2428, in download
    util.download_file_from_url(path, self.url, Api().api_key)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/util.py", line 1197, in download_file_from_url
    response.raise_for_status()
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/requests/models.py", line 960, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.wandb.ai/files/elena/test/2moec0qp/td_network.pt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/apis/normalize.py", line 22, in wrapper
    return func(*args, **kwargs)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 159, in wrapped_fn
    return retrier(*args, **kargs)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 118, in __call__
    if not check_retry_fn(e):
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/util.py", line 877, in no_retry_auth
    raise CommError(f"Permission denied to access {wandb.run.path}")
wandb.errors.CommError: Permission denied to access elena/test/2moec0qp

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cleanrl/dqn_atari_save.py", line 184, in <module>
    model.download(f"models/{args.exp_name}/")
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/apis/normalize.py", line 58, in wrapper
    raise CommError(message, err).with_traceback(sys.exc_info()[2])
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/apis/normalize.py", line 22, in wrapper
    return func(*args, **kwargs)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 159, in wrapped_fn
    return retrier(*args, **kargs)
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/sdk/lib/retry.py", line 118, in __call__
    if not check_retry_fn(e):
  File "/home/elena/anaconda3/envs/cleanrl/lib/python3.8/site-packages/wandb/util.py", line 877, in no_retry_auth
    raise CommError(f"Permission denied to access {wandb.run.path}")
wandb.errors.CommError: Permission denied to access elena/test/2moec0qp
wandb: Waiting for W&B process to finish... (failed 1). Press Control-C to abort syncing.
wandb:                                                                                
wandb: 
wandb: Run history:
wandb: global_step ▁
wandb: 
wandb: Run summary:
wandb: charts/episodic_return 0
wandb:         charts/epsilon 0.01
wandb:          charts/update 1969
wandb:            global_step 0
wandb: 
wandb: Synced BreakoutNoFrameskip-v4__dqn-save__1__1650816268: https://wandb.ai/elena/test/runs/2moec0qp
wandb: Synced 3 W&B file(s), 0 media file(s), 0 artifact file(s) and 1 other file(s)
wandb: Find logs at: ./wandb/run-20220424_180429-2moec0qp/logs

So as you can see I am logged in and I can see the files under "https://wandb.ai/elena/test/runs/2moec0qp?workspace=user-elena". Something that drew my attention was "requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://api.wandb.ai/files/elena/test/2moec0qp/agent.pt". This path indeed looks different from the https path, but maybe this is not the issue? Any ideas?

blindeyes
  • 409
  • 3
  • 13

1 Answers1

1

The artifact that you're trying to access might have a different name, or the run might not exist.

In my situation I was trying to download a model using wandb Api

file_name = "model.h5"
api = wandb.Api()
run = api.run(
    entity/project/run_id
)
run.file(file_name).download()

In this situation my mistake was the model_name should've been model-best.h5

dracarys3
  • 107
  • 2
  • 12