NeXtVLAD视频分类pb模型修改

之前搞落地问题,肯定会遇到pb模型,模型结点啥玩意的都能烦死。

根据上一篇思路,这里单独开一篇,将模型的头部分输入砍掉,也不用将pca采用tf写,这样方便容易理解。

使得输入的就是固定的input_shape,有一点顾虑,就是tf的resize可能与cv2的不同,那么直接采用tf的resize不是就避免了(ResizeBilinear),我看第一步就是扩展一个维度,从这里输入也可以

输出就完全是(None,2048),perfect!

这里还有另外一个问题:需要构建模型的网络结构,如果没有网络结构,可能无法将pb模型的参数加载到新的pb模型中。

或者只有一个办法可能规避:将输入直接给resize后,这种我估计还是不能批处理,这就尴尬了。【红字规避了这俩问题

【我还是喜欢自己去逛商场,就是为了试衣服,买不买无所谓】

这里我做了4个验证:

1.验证经过中间结点时是否需要下一个结点数据,事实说明不需要,说人话就是输入input经过中间一个Op,再由此Op到最后output的结果与从input到output的结果是相同的,而不需要Op的下一个结点Op;

2.直接用结点名字在sess.run中和get_tensor_by_name得到的是一样的结果;

3.从扩展维度那里输入得到的结果与直接输入模型的结果是一样的;

4.上面的都是针对batch=1的,这个验证了还是不能批处理batch>=2,我特么放弃了这个。

本来还想试一下用cv2的resize,后来发现模型中有这些Op

减去128是使得数据有正负???这个和图像的数据归一化可不太一样啊,乘以y那个系数恰好是归一化到1【取个快递路上想明白了】难道输入模型或者说inception/Xception的模型的数据都是[-1,1]而不是[0,1],这个我就蒙蔽了,卧槽。

这样调整模型估计还有其他参数不同,我觉得最后结果肯定也是不同的(绝对意义上,可能有相似之处吧,毕竟同样的模型)

所以综上所述,本菜鸟决定直接采用h5模型得了,最多看看提取feature的相似性吧,如下:

[[0.58567256]]#

另外有相关问题可以加入QQ群讨论,不设微信群

QQ群:868373192 

语音图像视频深度-学习群

发布了226 篇原创文章 · 获赞 214 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/104899416