通过docker文件挂载主机目录时出现问题,检索无法打开文件.h5

问题描述

我正在尝试从下面的docker文件中创建映像

FROM tensorflow/tensorflow:latest-py3
RUN pip install -q keras==2.3.1 
RUN pip install pillow 
RUN mkdir -p /edge_app/src workdir /edge_app/src 
copY model_1.py /edge_app/src 
EXPOSE 31700 
VOLUME ["/testdata"] 
CMD ["python","model_1.py"]

我的树结构是

├── data
│   └── predictions_result.npy
├── Dockerfile
├── m1.h5
├── model_1.py
├── testdata
│   ├── 0.jpg
│   ├── 10.jpg
│   ├── 1.jpg
│   ├── 2.jpg
│   ├── 3.jpg
│   ├── 4.jpg
│   ├── 5.jpg
│   ├── 6.jpg
│   ├── 7.jpg
│   └── m1.h5

model_1.py文件

import  socket,keras,sys,os,csv,subprocess,time,shutil
from keras.preprocessing import image
from socket import *
import numpy as np
from keras.applications.vgg19 import VGG19,preprocess_input,decode_predictions
from keras.preprocessing.image import img_to_array,load_img
from keras import models,layers,Model,Input
from keras import backend as K
import tensorflow as tf
from keras.models import load_model

 model=load_model('m1.h5',compile=False)

 images=[]
 for img in os.listdir('testdata'):
     img=os.path.join('testdata',img)
     img=image.load_img(img,target_size=(224,224))
     img=image.img_to_array(img)
     img=np.expand_dims(img,axis=0)
     img=preprocess_input(img.copy())
     images.append(img)
 images=np.vstack(images)
 predictions=model.predict(images)
 np.save('/workdir/data/predictions_result',predictions)

通过以下命令运行Docker映像

sudo docker run --rm  -it tensor-keras

当我尝试在linux中运行上述docker run命令时,我检索到以下错误帮助,非常感谢您的帮助

  OSError: Unable to open file (unable to open file: name = 'm1.h5',errno = 2,error message = 'No such file or directory',flags = 0,o_flags = 0)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)