将resnet实现从caffe转换为tensorflow

将resnet实现从caffe转换为tensorflow,tensorflow,neural-network,computer-vision,deep-learning,caffe,Tensorflow,Neural Network,Computer Vision,Deep Learning,Caffe,我想从头开始实现resnet 50 它是由原论文作者在caffe中实现的,但我想要tensorflow实现 由于此存储库: 因此,这幅图像: 我知道每个等价物(在tensorflow中),但我不知道scale的含义,在批处理规范化之后,您能解释一下它的含义以及batchnorm中的“使用全局状态”参数吗 caffe中的“就地”层只是提示caffe节省内存:不是为网络的输入和输出分配内存,“就地”层用该层的输出覆盖输入 在“BatchNorm”层中使用全局状态意味着使用在训练期间计算的平均值/st

我想从头开始实现resnet 50 它是由原论文作者在caffe中实现的,但我想要tensorflow实现 由于此存储库: 因此,这幅图像: 我知道每个等价物(在tensorflow中),但我不知道scale的含义,在批处理规范化之后,您能解释一下它的含义以及batchnorm中的“使用全局状态”参数吗

  • caffe中的“就地”层只是提示caffe节省内存:不是为网络的输入和输出分配内存,“就地”层用该层的输出覆盖输入
  • “BatchNorm”
    层中使用全局状态意味着使用在训练期间计算的平均值/std,而进一步更新这些值。这是BN层的“部署”状态
  • caffe中的“就地”层只是提示caffe节省内存:不是为网络的输入和输出分配内存,“就地”层用该层的输出覆盖输入
  • “BatchNorm”
    层中使用全局状态意味着使用在训练期间计算的平均值/std,而进一步更新这些值。这是BN层的“部署”状态

  • 感谢您的回复,但在github中的resnet实现中,他们说batchnorm参数应该更新,特别是将caffe模型转换为tensorflow的实现,那么我应该怎么做呢?这是转换后的实现:()@sh.kh您应该区分“部署”/“val”净(当训练后权重固定时)和“训练”净(当权重(和批次规范参数)不断更新时)。我想您转换后的网络应该能够在这两种模式下运行。@sh.kh是的,您在培训期间更新批次标准参数。因此,在培训模式下,批次标准参数(平均值和方差)应该更新,而在评估模式下则不应更新。正确吗?因此KamingHe git repo中的图片是针对培训模式的,因为他使用了“use_global_state=true”@sh.kh我怀疑恰恰相反,
    use_global_state=true
    意味着使用固定权重进行“部署”“phasethanks要求回复,但在github中的resnet实现中,他们说batchnorm参数应该更新,特别是将caffe模型转换为tensorflow的实现,那么我应该怎么做呢?”?这是转换后的实现:()@sh.kh您应该区分“部署”/“val”净(当训练后权重固定时)和“训练”净(当权重(和批次规范参数)不断更新时)。我想您转换后的网络应该能够在这两种模式下运行。@sh.kh是的,您在培训期间更新批次标准参数。因此,在培训模式下,批次标准参数(平均值和方差)应该更新,而在评估模式下则不应更新。正确吗?因此KamingHe git repo中的图片是针对培训模式的,因为他使用了“use_global_state=true”@sh.kh我怀疑恰恰相反,
    use_global_state=true
    意味着在“部署”阶段使用固定权重