首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow:确定预先训练的CNN模型的输出步长

Tensorflow:确定预先训练的CNN模型的输出步长
EN

Stack Overflow用户
提问于 2020-02-05 03:31:40
回答 1查看 925关注 0票数 1

我已经下载并正在使用Tensorflow Lite Posenet模型实现一个ML应用程序。这个模型的输出是一个热图,这是CNN的一部分,我是新手。

处理输出所需的一项信息是“输出步幅”。它用于计算在原始图像中找到的关键点的原始坐标。

keypointPositions = heatmapPositions * outputStride + offsetVectors

但是文档没有指定输出步长。我是否可以用tensorflow中的信息或方法来获得这个(任何)预先训练过的模型的输出步幅?

  • img的输入形状是:(257,257,3)
  • 输出形状为:(9,9,17) (17个不同关键点的19x9热图)
代码语言:javascript
复制
import tensorflow as tf
import numpy as np
import json

model = tf.lite.Interpreter('models\posenet_mobilenet_v1_100_257x257_multi_kpt_stripped.tflite')
model.allocate_tensors()

with open('model_details.json', 'w') as outfile:
     info = dict(list(enumerate(model.get_tensor_details())))
     s = json.dumps(str(info))
     outfile.write(s)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-05 08:38:57

输出步长可从下列方程中得到:

resolution = ((InputImageSize - 1) / OutputStride) + 1

示例:输入图像的宽度为225像素,输出步长为16,其输出大小为15

15 = ((225 - 1) / 16) + 1

对于tflite PoseNet模型(分辨率为9):

9 = ((257-1)/ x) + 1 x = 32所以输出步长是32

来源

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60068651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档