如何将自定义Python wheel包与tensorflow-cloud搭配使用?
解决方法
方法1:利用默认目录打包规则(最简便)
tensorflow-cloud 执行run方法时,会默认将入口脚本所在目录的所有未被忽略规则排除的文件,全部打进上传到GCP的tar包中,不需要额外配置传参:
- 将你构建好的自定义wheel包放到
tfc.run调用脚本的同级目录,或者同级的子目录中 - 检查目录下的
.gcloudignore文件,确保没有配置.whl后缀的忽略规则,若有则删除对应规则 - 在
requirements.txt中添加wheel包的相对路径引用即可,示例:
# requirements.txt 新增行示例,根据你的wheel包名称和存放路径调整 ./my_self_dev_pkg-1.0.0-py3-none-any.whl
方法2:自定义Dockerfile(适合复杂依赖场景)
如果你的自定义依赖较多,或者有额外的环境配置需求,可以直接指定自定义Dockerfile替代tensorflow-cloud自动生成的镜像构建规则:
- 在项目根目录编写Dockerfile,参考示例:
# 基于你原来使用的基础镜像 FROM tensorflow/tensorflow:2.7.0-gpu WORKDIR /app # 复制自定义wheel包并安装 COPY my_self_dev_pkg-1.0.0-py3-none-any.whl /tmp/ RUN pip install --no-cache-dir /tmp/my_self_dev_pkg-1.0.0-py3-none-any.whl # 安装其余依赖 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt
- 修改
tfc.run的docker_config配置,指定自定义Dockerfile路径即可:
import tensorflow_cloud as tfc res = tfc.run( requirements_txt="requirements.txt", chief_config=tfc.MachineConfig( cpu_cores=8, memory=30, accelerator_type=tfc.AcceleratorType.NVIDIA_TESLA_T4, accelerator_count=2, ), docker_config=tfc.DockerConfig( image_build_bucket=GCP_BUCKET, dockerfile_path="./Dockerfile" # 替换为你的Dockerfile实际路径 ), )
内容的提问来源于stack exchange,提问作者Stiefel
相关产品推荐
相关产品推荐

