Comments (21)
Ok, here's what I did:
In my TXT file I copied (from the command line window) the name it says is not finding, in my case data/optflow/000039.png
and pasted it into the TXT, ran it again and now I'm getting this new error:
./run-network.sh -n FlowNet2-s -g 0 -v data/names1.txt data/names2.txt data/output.txt
Using GPU: 0
Running network: FlowNet2-s
Working dir: /flownet2/flownet2/scripts
First input: data/names1.txt
Second input: data/names2.txt
Output: data/output.txt
/flownet2/flownet2/scripts
Network forward pass using /flownet2/flownet2/models/FlowNet2-s/FlowNet2-s_weights.caffemodel.
Succeeded.
Traceback (most recent call last):
File "run-flownet-docker.py", line 146, in <module>
writeFlow(out, blob)
File "run-flownet-docker.py", line 38, in writeFlow
f = open(name, 'wb')
IOError: [Errno 2] No such file or directory: '/input-output/\xef\xbb\xbfdata/optflow/flow038.flo'
from flownet2-docker.
Finally I get it. Yes, it's the symbol link problem. I forgot about it. I copy the dataset to the folder and now it works.
Really appreciate your kindness and sorry for wasting your time :p
from flownet2-docker.
Hi,
/input-output
is the mountpoint inside the container where the current working directory will be mounted, i.e. if data/SINTEL/test/clean/alley_1/frame_0001.png
is a valid file, it is visible as /input-output/data/SINTEL/test/clean/alley_1/frame_0001.png
inside the container.
Note that the data must be within the directory from which you call the run-network.sh
script. I am not sure whether symlinks work.
My best guess is that your list files do not contain the correct paths. Note that the paths must be relative to $PWD, not relative to the list file.
Best,
Nikolaus
from flownet2-docker.
I checked the path and didn't find the mistake. Maybe I didn't know how docker works. I'll present the my problem as follows and wish that you could find something wrong:
The $PWD is ~/develop/flownet2-docker
the Sintel dataset is copied in the ./data folder as ~/develop/flownet2-docker/data/SINTEL/test/clean/PERTURBED_market_3/frame_0001.png
Error occurs as "BaseException: img0 does not exist: /input-output/data/SINTEL/test/clean/PERTURBED_market_3/frame_0001.png"
when I run:
$ ./run-network.sh -n FlowNet2-s -g 1 -vv ./run-network.sh -n FlowNet2-s -g 1 -vv data/Sintel1_list_test.txt data/Sintel2_list_test.txt data/Sintel_flo_list_test.txt
or
$./run-network.sh -n FlowNet2-s -g 1 -vv data/SINTEL/test/clean/PERTURBED_market_3/frame_0001.png data/SINTEL/test/clean/PERTURBED_market_3/frame_0002.png flow.flo
However, it succeed when running:
$ ./run-network.sh -n FlowNet2 -v data/0000000-imgL.png data/0000001-imgL.png flow.flo
or
$ ./run-network.sh -n FlowNet2-s -g 1 -vv data/flow-first-images.txt data/flow-second-images.txt data/flow-outputs.txt
as the readme.md instructed
The file do exist because it gives the image information when running:
$ file data/SINTEL/test/clean/PERTURBED_market_3/frame_0001.png
from flownet2-docker.
Hm, nothing bad so far. Can you please post the first lines of all three .txt
files?
from flownet2-docker.
1.data/SINTEL/test/clean/PERTURBED_market_3/frame_0001.png
2.data/SINTEL/test/clean/PERTURBED_market_3/frame_0002.png
3.Result/SINTEL/PERTURBED_market_3/frame_0001.flo
from flownet2-docker.
Strange. Can you start an interactive container and manually look what's in /input-output
?
nvidia-docker run --rm --volume "${PWD}:/input-output:rw" -it "flownet2" /bin/bash
from flownet2-docker.
it says "root@8997ac58b23c:/flownet2#". seemingly it's empty
from flownet2-docker.
Hmm, in flownet2
there should be at least these entries
FN2_Makefile.config FN2_run-flownet-docker.py flownet2/
and /input-output
should contain whatever was in the folder from which you executed that command...
Can you please post some info about your system? What's your OS and Docker version?
from flownet2-docker.
Strange as it is, the three entries
FN2_Makefile.config, FN2_run-flownet-docker.py & flownet2
appears.
However, the error still occurs
from flownet2-docker.
That's really weird. If /input-output
is empty, then the list files that ship with this repo should not work either, and neither should running the networks on single images. Did you do all of your tests in the same folder? (I remember I had problems in an NFS-mounted location)
from flownet2-docker.
Great, no worries 👍 I should probably put that into the README.
from flownet2-docker.
I'm sorry I'm having the same issue, what is that "Symbol link problem" that ZikeYan is talking about?
from flownet2-docker.
@uthynauta If you are accessing the data in /input-output
via some symbolic link, this can cause problems. I think this can happen when the symlink points into another filesystem.
Example: In this repo there is a data
folder with images:
$ ls -l data
drwxr-xr-x 2 user group 4,0K Jun 1 2017 ./
drwxr-xr-x 13 user group 4,0K Jun 6 15:51 ../
-rw-r--r-- 1 user group 686K Apr 26 2017 0000000-imgL.png
-rw-r--r-- 1 user group 680K Apr 26 2017 0000001-imgL.png
...
but you might have links there, too:
$ ls -l data
drwxr-xr-x 2 user group 4,0K Jun 1 2017 ./
drwxr-xr-x 13 user group 4,0K Jun 6 15:51 ../
-rw-r--r-- 1 user group 686K Apr 26 2017 0000000-imgL.png
-rw-r--r-- 1 user group 680K Apr 26 2017 0000001-imgL.png
lrwxrwxrwx 1 user group 14 Jun 7 18:59 a_symbolic_link -> /media/user/0000002-imgL.png
...
These links can cause problems (I think it's because within the Docker container, you are not your own user and you don't have your usual access permissions).
from flownet2-docker.
I'm such a n00b I'm sorry, apparently running
sudo ./run-network.sh -n FlowNet2-s -g 0 -v data/flow-first-images.txt data/flow-second-images.txt data/flow-outputs.txt
does work, but when running my own list:
sudo ./run-network.sh -n FlowNet2-s -g 0 -v data/names1.txt data/names2.txt data/output.txt
I get this message again:
BaseException: img1 does not exist: /input-output/data/optflow/000039.png
I've already logged into the docker and navigated to /input-output/data
and everything seems on its place. I'm really lost in this.
from flownet2-docker.
We are all noobs and we can only hope to continue learning from slightly lesser noobs 😏
Can you post the outputs of some commands?
ls -l
indata
from outside the containerls -l
in/input-output
from within the containerls -l data/optflow/000039.png
outside the containerstat data/optflow/000039.png
outside the containerstat /input-output/data/optflow/000039.png
in the container
Are you on a normal PC? Or in a cloud instance?
from flownet2-docker.
I've already ran an ls -l
and apparently I don't have any symlinks. Could it be that the format of the TXT files is wrong?
from flownet2-docker.
That's also possible, but I don't think it's the case here. Your container throws this error:
BaseException: img1 does not exist: /input-output/data/optflow/000039.png
So it has already correctly parsed the txt file.
from flownet2-docker.
From outside the container for data
ls -l data
total 38988
-rwxrwxrwx 1 uthy uthy 702321 may 23 13:58 0000000-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000001-imgL.flo
-rwxrwxrwx 1 uthy uthy 696171 may 23 13:58 0000001-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000002-imgL.flo
-rwxrwxrwx 1 uthy uthy 728680 may 23 13:58 0000002-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000003-imgL.flo
-rwxrwxrwx 1 uthy uthy 705242 may 23 13:58 0000003-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000004-imgL.flo
-rwxrwxrwx 1 uthy uthy 668696 may 23 13:58 0000004-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000005-imgL.flo
-rwxrwxrwx 1 uthy uthy 649812 may 23 13:58 0000005-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000006-imgL.flo
-rwxrwxrwx 1 uthy uthy 650301 may 23 13:58 0000006-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000007-imgL.flo
-rwxrwxrwx 1 uthy uthy 666499 may 23 13:58 0000007-imgL.png
-rwxrwxrwx 1 uthy uthy 4147212 jun 7 12:32 0000008-imgL.flo
-rwxrwxrwx 1 uthy uthy 686211 may 23 13:58 0000008-imgL.png
drwxrwxrwx 5 uthy uthy 4096 may 24 12:29 cabina
drwxrwxrwx 2 uthy uthy 4096 may 23 20:50 cflow
drwxrwxrwx 2 uthy uthy 4096 may 23 18:57 flow
-rwxrwxrwx 1 uthy uthy 176 jun 7 12:09 flow-first-images.txt
-rwxrwxrwx 1 uthy uthy 176 jun 7 12:10 flow-outputs.txt
-rwxrwxrwx 1 uthy uthy 176 jun 7 12:10 flow-second-images.txt
drwxrwxrwx 2 uthy uthy 4096 may 23 20:50 flow_vis
-rwxrwxrwx 1 uthy uthy 6984 jun 7 12:15 names1.txt
-rwxrwxrwx 1 uthy uthy 6987 jun 7 11:31 names2.txt
drwxrwxrwx 2 uthy uthy 12288 jun 7 12:14 optflow
-rwxrwxrwx 1 uthy uthy 8733 jun 7 11:28 output.txt
drwxrwxrwx 5 uthy uthy 180224 may 23 20:49 PNG
-rwxrwxrwx 1 uthy uthy 302049 may 23 13:58 teaser.png
drwxrwxrwx 2 uthy uthy 4096 may 23 19:01 test
-rwxrwxrwx 1 uthy uthy 136 jun 7 11:56 text.txt
From within the container:
root@2565204a334b:/flownet2# ls -l /input-output
total 4132
-rw-rw-r-- 1 1000 1000 1837 May 23 18:58 Dockerfile
-rw-rw-r-- 1 1000 1000 1746 May 23 18:58 FN2_Makefile.config
-rw-rw-r-- 1 1000 1000 4913 Jun 7 17:03 FN2_run-flownet-docker.py
-rw-rw-r-- 1 1000 1000 35141 May 23 18:58 LICENSE
-rw-rw-r-- 1 1000 1000 91 May 23 18:58 Makefile
-rw-rw-r-- 1 1000 1000 2997 May 23 18:58 README.md
drwxrwxrwx 9 1000 1000 4096 Jun 7 17:15 data
-rw-r--r-- 1 root root 4147212 Jun 7 16:54 flow.flo
-rw------- 1 root root 62 May 23 19:07 nohup.out
-rwxrwxr-x 1 1000 1000 5624 May 23 18:58 run-network.sh
-rw-rw-r-- 1 1000 1000 147 May 30 22:01 runme.sh
From outside the container:
ls -l data/optflow/000039.png
-rwxrwxrwx 1 uthy uthy 358295 jun 7 11:12 data/optflow/000039.png
stat data/optflow/000039.png
stat: cannot stat 'data/optflow/000039.png': No such file or directory
Inside the container:
root@6e528d8c6492:/flownet2# stat /input-output/data/optflow/000039.png
File: '/input-output/data/optflow/000039.png'
Size: 358295 Blocks: 704 IO Block: 4096 regular file
Device: 807h/2055d Inode: 2931184 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN)
Access: 2018-06-07 16:42:58.025642979 +0000
Modify: 2018-06-07 16:12:18.106159381 +0000
Change: 2018-06-07 17:52:23.862836387 +0000
Birth: -
from flownet2-docker.
Ok, here's what happened, I do not know how I solved it but I solved it.
I opened the TXT files from the original GIT download, deleted the info contained there and added my list, then I saved it with another name. Now everything is working fine. I guess it had something to do with the format of the TXT file, I leave it here in case anyone else faces the same problem.
I really appreciate the time and effort you dedicated to these @nikolausmayer
from flownet2-docker.
Ok.. this
IOError: [Errno 2] No such file or directory: '/input-output/\xef\xbb\xbfdata/optflow/flow038.flo'
definitely looks like a formatting problem (\xef\xbb\xbf
are bad characters in the path).
It's so strange that you can stat
the file from within the container, but not outside... anyway, I'm glad that it works now 😉
from flownet2-docker.
Related Issues (20)
- How long should a frame take to process? HOT 5
- libcudart.so.8.0: cannot open shared object file: No such file or directory HOT 15
- variable input sizes
- Will this work on latest version of CUDA 10? I am new please suggest me the changes in case it won’t I am getting error docker:error response from daemon:oci runtime create failed when i the 2.1 HOT 2
- About the installation problem. HOT 2
- standard_init_linux.go:211: exec user process caused "exec format error" HOT 3
- How can I see result file HOT 8
- convert .flo file to .npy file HOT 2
- .flo file data HOT 2
- os.system error HOT 4
- CUDA driver version is insufficient for CUDA runtime version
- make error while building on docker. HOT 2
- about image quality HOT 2
- No output HOT 6
- No Outputs HOT 2
- Installation problem such as RPC failed and gnutls_handshake() failed HOT 1
- I can't see any output in the root folder HOT 1
- cuda error when feeding list of images HOT 2
- How to open .flow file? HOT 2
- How can I generate 2-channel optical flow image and save its x, y channel as .jpg image? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flownet2-docker.