我试图将我用python编写的机器学习模型码头化。 python脚本包括使用熊猫加载csv文件。当我在容器中运行映像时,pd.read_csv("FILENAME.csv")
命令无法检索csv文件(我认为问题可能是csv文件不在容器中)。有关如何执行此python脚本并在docker上读取csv文件的任何建议。
dockerfile:
FROM python:latest
RUN pip install pandas
RUN pip install numpy
RUN pip install sklearn
COPY . /app
ENTRYPOINT ["python", "app/model1.py","death_clean.csv","condition_data_clean.csv"]
model1.py
import pandas as pd
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
df1=pd.read_csv("/Users/yaoyan/Desktop/docker-trial/condition_data_clean.csv",error_bad_lines=False)
df2=pd.read_csv("/Users/yaoyan/Desktop/docker-trial/death_clean.csv",error_bad_lines=False)
df=pd.merge(df1,df2,on=['person_id'], how='left')
运行它时,出现此错误:
FileNotFoundError:文件b'/ Users / yaoyan / Desktop / docker-trial / condition_data_clean.csv'不存在
答案 0 :(得分:1)
您应该使用docker volume
命令创建一个包含数据的卷。完成此步骤后,您需要使用-v
中的docker run
选项挂载此存储,例如-v my_data_volum:/data
。最后,在Python脚本中适当地更改路径,在这种情况下为/data/my_csv.csv
。在documentation中有更多信息。
或者,如果您坚持要复制文件,请在熊猫的/app/condition_data_clean.csv
函数中使用路径read_csv
。