Render部署React+Python Web应用时Keras模型加载失败求助
Render部署React+Python Web应用时Keras模型加载失败求助
大家好,我遇到了一个在Render上部署Python后端加载Keras模型的棘手问题,折腾了好一阵没找到根源,想请教下各位经验丰富的开发者:
问题背景
我有一个.keras格式的TensorFlow模型,在本地Python3.11的conda虚拟环境中运行完全正常,但部署到Render平台后,执行main.py加载模型时直接抛出错误。Render的默认Python版本也是3.11,环境版本完全匹配,但就是无法正常加载模型。
具体报错信息
Traceback (most recent call last): File "/opt/render/project/src/backend/main.py", line 32, in <module> model = tf.keras.models.load_model(MODEL_PATH) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_api.py", line 230, in load_model return saving_lib.load_model( ^^^^^^^^^^^^^^^^^^^^^^ File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_lib.py", line 275, in load_model raise e File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_lib.py", line 263, in load_model _load_state( File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_lib.py", line 456, in _load_state _load_container_state( File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_lib.py", line 513, in _load_container_state _load_state( File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/saving/saving_lib.py", line 425, in _load_state trackable.load_own_variables(weights_store.get(inner_path)) File "/opt/render/project/src/.venv/lib/python3.11/site-packages/keras/src/engine/base_layer.py", line 3539, in load_own_variables raise ValueError( ValueError: Layer 'conv2d' expected 2 variables, but received 0 variables during loading. Expected: ['conv2d/kernel:0', 'conv2d/bias:0']
已尝试的排查操作
- 本地删除项目文件夹,重新克隆Git仓库、初始化虚拟环境、重装依赖后运行
main.py,依然能正常工作 - 确认本地和Render上的模型文件完全一致,没有被修改过
- 反复检查过Render上的模型文件路径是正确的
- 确认本地conda环境和Render的Python版本都是3.11,版本无差异
现在实在卡在这里找不到突破口了,有没有朋友遇到过类似的情况?或者能给我一些新的排查方向建议?
备注:内容来源于stack exchange,提问作者Nik Pierce
相关产品推荐
相关产品推荐

