在docker pull之后定位目录

hm2xizp9  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(470)

我正在尝试使用docker从这个存储库复制结果。
我已经完成了拉使用

docker pull gasparjan/crnn_ocr:cpu

并使用

docker run --rm -it -v /home:/data -p 8004:8000 gasparjan/crnn_ocr:cpu

执行以下命令:

python3 predict.py --G 0 --model_path %PATH_TO_MODEL% \
--image_path %PATH_TO_IMAGES% \
--validate --num_instances 512 --max_len 21

我需要 PATH_TO_MODEL 我如何定位 model.json 刚刚调出的文件?
我已经尝试从这里使用解决方案,但不幸的是,我无法找到拉目录。
我还尝试从github下载repo,然后传递 model.json 文件并产生一个错误

FileNotFoundError: [Errno 2] No such file or directory: '/Users/Luke/Downloads/CRNN-OCR-lite-master/models/OCR_IAM_ver1/model.json'

请告知。
我用的是macos big sur。

sxpgvts3

sxpgvts31#

运行此线路后:

docker run --rm -it -v /home:/data -p 8004:8000 gasparjan/crnn_ocr:cpu

您将被放置在容器的命令行中。你可以和我一起四处看看 ls :

➜  sudo docker run --rm -it -v /home:/data -p 8004:8000 gasparjan/crnn_ocr:cpu
root@0e2914bb1aad:/# 
root@0e2914bb1aad:/# ls -la
total 124
drwxr-xr-x   1 root root  4096 Apr 27 13:36 .
drwxr-xr-x   1 root root  4096 Apr 27 13:36 ..
-rwxr-xr-x   1 root root     0 Apr 27 13:36 .dockerenv
drwxr-xr-x   1 root root  4096 May 14  2019 bin
drwxr-xr-x   2 root root  4096 Apr 12  2016 boot
drwxr-xr-x   3 root root  4096 Apr 27 13:35 data
drwxr-xr-x   5 root root   360 Apr 27 13:36 dev
drwxr-xr-x   1 root root  4096 Apr 27 13:36 etc
drwxr-xr-x   2 root root  4096 Apr 12  2016 home
drwxr-xr-x   1 root root  4096 May 14  2019 lib
drwxr-xr-x   1 root root  4096 May 14  2019 lib64
drwxr-xr-x   2 root root  4096 Jan 22  2019 media
drwxr-xr-x   2 root root  4096 Jan 22  2019 mnt
drwxr-xr-x   2 root root  4096 May 14  2019 models
drwxr-xr-x   2 root root  4096 Jan 22  2019 opt
-rw-rw-r--   1 root root  8034 May 11  2019 predict.py
dr-xr-xr-x 378 root root     0 Apr 27 13:36 proc
drwx------   1 root root  4096 May 14  2019 root
drwxr-xr-x   1 root root  4096 May 14  2019 run
drwxr-xr-x   1 root root  4096 Jan 22  2019 sbin
drwxr-xr-x   2 root root  4096 Jan 22  2019 srv
dr-xr-xr-x  13 root root     0 Apr 27 13:37 sys
drwxrwxrwt   1 root root  4096 May 14  2019 tmp
-rw-rw-r--   1 root root  8572 May 10  2019 train.py
drwxr-xr-x   1 root root  4096 Jan 22  2019 usr
-rw-rw-r--   1 root root 23446 May 10  2019 utils.py
drwxr-xr-x   1 root root  4096 Jan 22  2019 var
root@0e2914bb1aad:/# ls -la /models
total 55892
drwxr-xr-x 2 root root     4096 May 14  2019 .
drwxr-xr-x 1 root root     4096 Apr 27 13:36 ..
-rw-r--r-- 1 root root      490 Jan 24  2019 arguments.txt
-rw-r--r-- 1 root root 11482392 Mar 24  2019 checkpoint_weights.h5
-rw-r--r-- 1 root root 34189880 Jan 24  2019 final_model.h5
-rw-r--r-- 1 root root 11482392 Jan 24  2019 final_weights.h5
-rw-r--r-- 1 root root      136 Jan 24  2019 loss_history.pickle.dat
-rw-r--r-- 1 root root    31729 Jan 24  2019 model.json
-rw-r--r-- 1 root root    15524 Jan 24  2019 model_summary.txt

所以文件在 /models/model.json 在容器里面!
至于图像,我在容器里找不到任何图像。我想你应该供应你自己的。在这种情况下,请看命令( /home:/data ). 这是绑定挂载,意思是 /home 在您的pc和 /data 容器中现在有相同的文件夹。
所以我会尝试添加一些图像到你的电脑 /home 文件夹,然后在容器内运行:

python3 predict.py --G 0 --model_path /models/model.json \
--image_path /data \
--validate --num_instances 512 --max_len 21
dm7nw8vv

dm7nw8vv2#

我是个新手。但我想我有办法。
我拉了docker图像,似乎如果你用python3命令中的模型替换%path\u to\u model%——它可以工作!
下面是最终命令的样子:

python3 predict.py --G 0 --model_path models \
--image_path %PATH_TO_IMAGES% \
--validate --num_instances 512 --max_len 21

如果你这样做了 ls 一旦进入docker容器,就可以看到所有目录。

__pycache__  boot  dev  home  lib64  mnt     opt         proc  run   srv  tmp       usr       var
bin          data  etc  lib   media  models  predict.py  root  sbin  sys  train.py  utils.py

我不确定这是否有用,但请告诉我。
干杯!

相关问题