-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flownet Docker steps #10
Comments
I can't help you with this. I never tried the Docker image or installed FlowNet myself, instead I used the binaries that were already on our university computer. I will leave this open though, maybe someone else has solved this already. |
I'm in the process of building a docker container to run fast-artistic-videos. The approach I'm taking is to use the flownet2 image as the base in my container definition. That way I can access the flownet dir at /flownet2 First, build the flownet2 image, then declare it as the base in your container def: Then you can copy your customized run-flownet-multiple.sh script to overwrite the clone. It should look like this:
|
If you want to use the flownet docker image, but not build your own image on top, you can modify the script to start the docker image and execute the command, similar to what happens in run-network.sh example that comes with the flownet docker image. I used the following script
and then I put a modified version of run-flownet-many.py in the root of fast-artistic-videos with the name 'run-flownet-many-docker.py'
The key is simply to 'dockerize' the paths in the script, so that it uses the volume 'input-output' |
I was then able to build the flownet2-docker with the older cuda and cudnn but I'm getting a problem with google protobuf. This is simply if I ssh into the docker.. I get the same if I run the demo run flownet2-docker script.
|
I fixed this by upgrading protobuf
|
Thanks @oleprinds , that script works, I am now running some optical flow on a video I've been using. Seems like it's using the GPU as well as 100% of a core on my CPU but definitely not as much GPU as I'd expect, seems like it's a short burst on my 1070. Almost wondering if we could parallelize and do two images at a time... |
@bafonso you're right about the CPU bottleneck. It was caused by the run-flownet-many.py script NOT reusing the network, but recreating it for each frame. I have modified the script to use in the docker container. https://github.com/positlabs/fast-artistic-videos-docker/blob/master/run-flownet-many.py |
Oh yes, I took your changes and ported it to the dockerize version above and it works much much faster! I have now one core at 100% and my GPU is running anywhere between 50 and 82% so I'm much happier with that! Getting maybe ~3fps on a low res movie right now on my 1070. The docker version was a bit too advanced for my needs this is why I abandoned that idea for now. |
Hello,
I'm aware you explicitly state not to ask about setting up FlowNet, but I saw a step in your setup that I'm hoping you can clarify.
"There is also a Dockerfile for easy installation of the complete code in one step: flownet2-docker (GitHub)"
Golden, got it cooching with Nvidia-Docker 2, I can run this script long hand for two files at a time. I call it with "./run-network.sh -n FlowNet2 -v data/0000000-imgL.png data/0000001-imgL.png flow.flo"
"Then edit run-flownet-multiple.sh and set the paths to the FlowNet executable, model definition and pretrained weights."
Opening that file, it appears that it is looking for a link to the stuff that is inside the Docker container. I've tried a local installation about 15 times, so I'm thinking the Docker container isn't just the easiest, but maybe the ONLY way to get it working.
So, how did you find the paths inside the Docker container for the executable, models defs, and weights?
The text was updated successfully, but these errors were encountered: