jcjohnson / densecap

Dense image captioning in Torch
MIT License
1.58k stars 429 forks source link

Small stumbling stones, and ideas for readme #52

Open kylemcdonald opened 8 years ago

kylemcdonald commented 8 years ago

First, thank you :) This research is a big inspiration, and it's great to learn and explore with the code itself. After realizing I needed a beefier GPU, I got it running on AWS with a p2.xlarge (1xK80). Here are a few things I noticed.

After running pip install -r requirements.txt I got an error like:

Command /home/ubuntu/densecap/webcam/.env/bin/python -c "import setuptools, tokenize;__file__='/home/ubuntu/densecap/webcam/.env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-e4ld0f-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ubuntu/densecap/webcam/.env/include/site/python2.7 failed with error code 1 in /home/ubuntu/densecap/webcam/.env/build/Pillow

After searching, it looks like this is a Pillow issue. You need to run sudo apt-get install python-dev before Pillow can be installed.

Then I noticed that you create the virtual env, install the requirements, then activate it. I think the second and third steps should be reversed, otherwise you are installing the requirements outside the virtualenv (and the Python code fails to run).

Then, I got the error module 'socket' not found:No LuaRocks module found for socket when running th webcam/daemon.lua. This was fixed by installing luarocks install luasocket.

Then, on AWS (and I imagined some other servers) ports are available based on a whitelist. I had to open port 5000 for inbound TCP traffic.

When you wrote: https://cs.stanford.edu/people/jcjohns/densecap/demo/web-client.html?server_url=SERVER_URL I thought SERVER_URL meant the domain of my server. Then I realized it meant https://ec2-my-ip-address.compute-1.amazonaws.com.:5000/, the same URL where I accepted the self-signed certificate, and it worked!

Finally, I also have issue #49 despite CUDNN being correctly installed and used for other things, I can't use it here for some reason. So I have to disable it with -use_cudnn 0 when running the daemon.lua or the other demo.