Pytorch方法用于有条件地使用中间层而不是最终cnn层输出。ie:允许nn学习使用更多或更少的层

2024-04-25 14:46:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在低延迟环境中实现了一个残存的cnn(修改过的更小版本的exception)。我已经做了很多手动调整来最小化我的网络的运行时速度(减少过滤器的数量,移除层等等)。你知道吗

但是现在我想尝试允许我的网络在每个剩余块之后对剩余连接进行分类预测(最终的fcnn层)。你知道吗

基本逻辑-

尝试以剩余连接作为输入进行最终预测

如果此fcnn层预测某个类的概率大于设置的阈值:

return fcnn output as if it was normal final layer

其他:

do next residual block like normal and try the previous conditional again unless we are already at final block

basic example

我希望这能让我的网络学会用更少的计算来解决更简单的问题,同时如果它仍然不确定分类的话,它还能做额外的层。你知道吗

所以我的基本问题是:在pytorch中,以允许我的nn在运行时决定是否进行更多处理的方式实现这个条件的最佳方法是什么

目前我测试了在forward函数中的块之后返回中间的x,但是我不知道如何最好地设置条件来选择返回哪个x

另请注意:我相信我可能最终需要在残差和fcnn之间的另一个cnn层作为一个函数,将处理的内部表示转换为fcnn理解的分类表示。你知道吗


Tags: 函数版本网络过滤器环境exception分类手动
1条回答
网友
1楼 · 发布于 2024-04-25 14:46:06

已经完成,并在2018年ICLR上展示。你知道吗

似乎在resnet中,前几个瓶颈学习表示(因此不能被跳过),而其余的瓶颈细化了特征,因此可以在适当的精度损失下被跳过。(Stanisław Jastrzebski,Devansh Arpit,Nicolas Ballas,Vikas Verma,Tong Che,Yoshua Bengio,ICLR 2018年)。你知道吗

在Sam Leroux、Pavlo Molchanov、Pieter Simoens、Bart Dhoedt、Thomas Breuel、Jan Kautz IamNN: Iterative and Adaptive Mobile Neural Network for efficient image classification、ICLR 2018中,这一想法被发挥到了极致。你知道吗

相关问题 更多 >