如何用tensorflow 做cnn+lstm+attention?,已经有代码了,想加一个lstm的内容

以下为早前客户案例,如需数据分析服务请前往「准雀」微信公众号快速咨询服务,或免费发布悬赏、挑选分析师、参考更多历史项目。

案例详情:

预算3000元以上,tensorflow 做cnn+lstm+attention,已经有代码了,加一个lstm的内容,3000起。

项目介绍:

1.已有数据集:

video frame:按0.1秒切成frame image保存;jpg

attention map: 和上述的每个frame对应,黑白图像;由上图模型跑出的结果;jpg;

driving data:每0.1s的frame image对应的驾驶数据;.mat;

2.网络结构:

cnn – attention –lstm – fc -- classifier

将video按0.1秒采样,再按3s分成一段段sequence。每次模型输入3s的video sequence(即30帧连续的video frame),输出一个分类器(概率向量,5个元素),即一个batch含30帧;

我目前有一段video的所有frame;也有每个frame对应的attention map,这个attention map是通过上面github链接的模型直接求得的,我希望用它代替网络自行生成的attention 结果,用于与cnn阶段输出的feature map element-wise相乘,作为下一阶段lstm的一个输入。

Lstm的另一个输入是我的driving data。 Driving data 包含video 每0.1秒所有的驾驶信息,我希望将每0.1秒(每frame)的信息concatenate成长向量,和每frame对应的cnn_feature_map*attention 的向量concatenate在一起,输入给lstm,也是一个3秒的video sequence出一次lstm的结果。

最后每个video sequence(3s),即一个batch出一次分类器向量结果。

一共5个类别,1-5,写在了文件夹的名字下划线后,例如1—3代表事件3,16—2代表事件2;

输出向量是5个元素的向量,每个元素代表着事件发生概率;loss用cross entropy算。

3. 替代方法:

1)是否可以直接拿已有数据集的attentionmap,去和上述github模型中cnn部分,即“visual feature processing module”的输出feature map 相乘,这里不需要任何训练,就用github模型的已有参数;

然后我们只写一个简单的lstm+fc模型,输入是上述的feature map*attentionmap,以及已有的driving data,输出是分类器。这样无需重新写cnn并训练提取特征的部分了。

2)我另有一个已经写好的cnn+lstm+attention的模型,但是attention是一个layer,权重由网络训练自行生成。我希望将我的针对每个frame的attention map结果替换那个网络的attention layer每次的输出。相当于针对每帧都多一个我的attention 数据的输入。不知道这样的替换是不是比方法一更好做。

下图为我的模型结构:也是cnn+lstm+attention的通用结构

(图略)

准雀Accunique致力于打造一站式数据分析服务领导品牌,提供一站式数据统计分析服务,快速找到靠谱分析师为你提供数据分析服务,覆盖医学、工科、社科、经管、金融、财会、数理等多领域,拥有掌握Spss/Stata/Eviews/Matlab/R/Python等全面技能的分析师团队。

欢迎关注准雀官方微信公众号(ID:accunique),或访问准雀官网,申请在线咨询,最快5分钟为你匹配我们的分析师进行服务:https://www.accunique.com/apply

你可能感兴趣的:(如何用tensorflow 做cnn+lstm+attention?,已经有代码了,想加一个lstm的内容)