-
Notifications
You must be signed in to change notification settings - Fork 147
running R2D2 without Docker #11
Comments
Do you build the grpc library in docker? If no, try and do that. |
My TF version is 2.1.0 which is the same. I think my issue is with the grpc library as when I ran this simple example I got the same error. However, as I am quite new to Docker and grpc, I am not quite sure how to 'build' grpc from docker (even after reading up on grpc and docker). The file structure of grpc in seed_rl seems quite different from those examples given by the tutorial and example repository. The following gave me a lot of confusion:
Above all, do we really need the c++ and .so files to use grpc? Is there a way to do it like the examples in the tutorial (using grpc with python) without those files and without docker? thanks for your patients and I really appreciate all the help I can get thanks ! (: |
We are using C++ grpc, not Python grpc. Do you right now use the prebuild .so file (i.e. you don't try to build the grpc library? |
yes, both seed_rl for r2d2 (without docker) using
Is there any advantages running c++ instead of python? |
I'm not sure what goes wrong for you, the following in Docker works: FROM ubuntu:18.04 RUN apt-get update && apt-get install -y tmux libsm6 libxext6 libxrender-dev python3-pip this should be fairly close to what you're doing. |
ok @lespeholt I will look into it again on running without docker. Also, is it possible to use grpc python instead of grpc c++? do you know if there would be any slowly down in speed/bandwidth or if there are any features which cant be implemented in grpc Python? |
Using Python grpc would be significantly slower than C++ and the custom batching. |
Reviving this. I'm trying to do the same since apparently profiling with nvprof is problematic inside the docker; I'm getting segmentation faults. I'm getting a very similar error: tensorflow.python.framework.errors_impl.NotFoundError: /home/nvidia/PycharmProjects/seed_rl/grpc/python/../grpc_cc.so: undefined symbol: _ZN10tensorflow8OpKernel11TraceStringEPNS_15OpKernelContextEb Is there a solution proposed here? I'm not sure I understood. The suggestion to compile grpc within the docker is not relevant, right? since I'm not using docker... |
you can still compile grpc inside docker, copy the file and then not use docker at all when you run the training. |
How can I run this code without docker?I did it successfully, here I want to share my experience. 1. First, you can create a virtual environment using conda or virtualenv (my python version is python3.6.7 ), installing the following packages:
2. Second, we need to configure the cuda_10 environment
3. Third, we add the seed_rl path to the python path, the pwd is under the seed_rl folder
4. Forth, we create 5 tmux windows named learner, actor0, actor1, actor2, actor3Run the following commands in these 5 windows respectively:
Note: you should make sure that you have grpc_cc.so file (9.4M) under the grpc folder.That's all, hope you can succeed! |
@zhuliwen thanks! |
Excellent, I'll give it a try. Thanks a lot! |
FYI, the appropriate version should be used as this repository is updated. Now, you need to use
|
I'm trying to run seed rl (R2D2) without Docker on Ubuntu 18.04. I've tried to decouple the files as much as I can from docker. When I try to run
r2d2_main.py
in leaner mode in the terminal,python atari/r2d2_main.py --run_mode=learner --logtostderr --pdb_post_mortem --num_actors=2
,I get this error:
The only change I made to
r2d2_main.py
is addfor path purposes.
The text was updated successfully, but these errors were encountered: