无法在OpenShift在线平台上加载git-lfs文件

问题描述

我需要在OpenShift在线平台上部署一个Web应用程序,这需要使用lfs使用存储在github repo中的文件。

在构建应用程序时,我收到此消息:

---> Running application from Python script (app.py) ...
generated new fontManager
Traceback (most recent call last):
  File "app.py",line 72,in <module>
   model.load_state_dict(torch.load(WEIGHTS_FILE,map_location=device))
  File "/opt/app-root/lib/python3.6/site-packages/torch/serialization.py",line 585,in load
    return _legacy_load(opened_file,map_location,pickle_module,**pickle_load_args)
  File "/opt/app-root/lib/python3.6/site-packages/torch/serialization.py",line 755,in _legacy_load
    magic_number = pickle_module.load(f,**pickle_load_args)
_pickle.UnpicklingError: invalid load key,'v'.

我猜想原因一定是重量文件由lfs存储。看起来OpenShift只是简单地git pull the repo而不是git-lfs pull。

当我使用其他Web服务平台(例如, GCP,Azure。

那么有可能打开终端控制台,然后我可以git pull repo吗?或者,还有其他选择吗?

PS:我正在用dockerfile进行构建,这是我的仓库:https://github.com/MemphisMeng/global-wheat-detection-web-app

解决方法

我不确定在构建Docker映像时git-lfs的播放方式。以及哪种类型的构建策略(我假设使用docker构建策略,因为这里有Dockerfile)。 我通常将模型文件与Docker映像分开,以保持较小的映像大小。

相反,我创建了一个持久卷安装并在其中加载了模型文件。然后,将卷安装作为DeploymentConfig的一部分。这与docker run -v SOURCE:DESTINATION IMAGE_NAME

非常相似

资源

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...