You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用deepvog.load_DeepVOG()触发Keras symbolic张量无__len__实现错误

DeepVOG调用load_DeepVOG()报错解决方案

该报错由TensorFlow/Keras版本与DeepVOG框架不兼容导致。DeepVOG官方适配环境为Python 3.6/3.7 + TensorFlow 1.15 + Keras 2.3.1,高版本TensorFlow 2.x的符号张量不支持直接调用__len__方法,会触发该错误。
注意DeepVOG不支持Python 3.8及以上版本,优先使用方案1可解决绝大多数兼容性问题

  • 方案1:使用官方适配环境
    安装Python 3.7版本的虚拟环境,依次安装指定版本依赖:
    pip install tensorflow==1.15 keras==2.3.1
    pip install deepvog
    
    安装完成后重新运行加载代码即可。
  • 方案2:高版本TF2.x兼容运行
    如果你需要在现有高版本TensorFlow环境下运行,在导入deepvog之前添加兼容代码:
    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    from keras import backend as K
    K.set_image_data_format('channels_last')
    import deepvog
    
    model = deepvog.load_DeepVOG()
    
  • 方案3:源码适配修改
    如果上述方案均无效,找到DeepVOG安装目录下的模型定义文件,将所有直接对张量调用len()的代码替换为K.int_shape(张量变量)[对应维度]即可,例如将len(input_tensor)改为K.int_shape(input_tensor)[0]。

内容的提问来源于stack exchange,提问作者kbr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:06:04