问题标签 [deep-residual-networks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
deep-learning - RuntimeError: 4 维权重 [1024, 64, 3, 3] 的预期 4 维输入,但输入的大小为 [32, 10]
这条线工作正常
我介绍了 ResNet18
python - 使用 nn.Identity 进行残差学习的想法是什么?
所以,我已经阅读了大约一半的原始 ResNet 论文,并试图弄清楚如何为表格数据制作我的版本。
我已经阅读了一些关于它如何在 PyTorch 中工作的博客文章,并且我看到大量使用nn.Identity()
. 现在,该论文还经常使用术语身份映射。但是,它只是指以元素方式将层堆栈的输入添加到同一堆栈的输出。如果输入和输出维度不同,那么本文将讨论用零填充输入或使用矩阵W_s
将输入投影到不同的维度。
这是我在博客文章中找到的残差块的抽象:
还有我自己对虚拟张量的应用:
所以最后,x = nn.Identity(x)
我不确定它的用途,除了模仿原始论文中的数学术语。我确信情况并非如此,而且它有一些我还没有看到的隐藏用途。会是什么呢?
编辑这是实现残差学习的另一个例子,这次是在 Keras 中。它执行我上面建议的操作,并且只保留输入的副本以添加到输出中:
conv-neural-network - 将批量规范添加到非批量规范层
我正在实现一个修改后的 ResNet 架构。在 ResNet 的 Basic Block 中,我在快捷连接中使用了 Conv 层。所以我的主要路径由两个 Conv 层组成,每个层后面是 Batch Norm 层,然后是 ReLU 层,而在快捷连接中,只有 Conv 层没有 Batch Norm 层。然后最后将此快捷连接添加到主路径。下图总结了上面的解释。
虽然众所周知 Batch Norm 层应该添加到 Batch Norm 层,但这里将原始 conv 输出添加到 batch norm 层。
但令人惊讶的是,我的模型提供了更好的性能,该架构提供了更好的性能,当我在快捷连接中添加批量规范层时,我的模型的性能急剧下降,甚至在详尽的超参数调整之后甚至没有收敛到以前的设置。
所以我的问题是我是否应该遵循在快捷连接中添加的批处理规范层,即使性能很差,因为它尊重文献,或者我应该在这种情况下使用在快捷连接中没有批处理规范层的情况下表现更好的那个。还有,如果我要发表这个作品,审稿人肯定会提出这个问题,我应该提前添加什么样的解释才能让事情更清楚
algorithm - 如何将 Edmonds & Karp 算法用于残差图
我正在解决 Edmonds 和 Karp 算法。在普通网络上,我知道如何使用它,实际上我不确定/我不知道如何在残差图上使用算法,因此存在后边。
谁能告诉我,那里的迭代是如何完成的?
python - 用 keras 构建一个密集的残差网络
我正在尝试使用 Keras 构建基于密集网络的分类器。我的输入是 (26,1) 向量,我想得到一个二进制分类 1 或 0 作为输出。
使用 Dense 网络和 hyperas 进行一些优化,我设法达到 80% 的准确度,这还不错,但我正在尝试使用残差网络来提高网络的准确度。
我在各种论坛上发现了很多卷积网络的残差网络示例,但我没有找到残差网络的示例。
我尝试了以下代码来生成残网:
我尝试了各种 epoch 训练,但网络没有达到超过 75% 的准确率,这比以前更差。当然,我仍然可以使用 hyperas 再次提高准确性并调整超参数,但我“一开始”期待更好的性能。
问题 :
- 我的编码有缺陷吗?
- 有没有更好的方法来生成残差网络?主要是,我添加了一个跳过层(仍然通过一个密集层)我可以做得更好吗?我应该包括更多吗?
感谢您的建议
python - 无法从“keras.layers”导入名称“Deconvolution2D”
我的 keras 代码抛出了这个错误:
2021-03-01 08:31:47.267964:W tensorflow/stream_executor/platform/default/dso_loader.cc:60] 无法加载动态库“cudart64_110.dll”;dlerror: cudart64_110.dll not found 2021-03-01 08:31:47.272086: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] 如果您的机器上没有设置 GPU,请忽略上面的 cudart dlerror。Traceback(最近一次调用最后一次):文件“main.py”,第 1 行,从 train 导入训练文件“D:\Github\tutorials_1_residual_network-master\train.py”,第 20 行,从 network_model 导入 NetworkModel 文件“D :\Github\tutorials_1_residual_network-master\network_model.py",第 9 行,从 keras.layers 导入 Dense、MaxPooling2D、Conv2D、Flatten,
ImportError: 无法从 'keras.layers' 导入名称 'Deconvolution2D' (D:\Github\tutorials_1_residual_network-master\venv\lib\site-packages\keras\layers_init _.py )
似乎Deconvolution2D
不再在 keras 中使用它。我应该改用什么?
image-processing - 残差网络可以更好地完成哪些图像分类任务?
在处理图像分类问题时,我们什么时候应该求助于深度残差网络,而不是 10-20 层的顺序网络?它是否取决于类别的数量(更多类别,更深的网络)?它是否取决于问题的难度(相似的类别,因此难以区分)?或者,他们是否因组装简单而受到赞赏,这让我们初学者能够“深入”?示例将不胜感激……</p>
python - 将特定块添加到预训练的 ResNet50
我正在使用 keras 来定义一个预训练的 resenet50。
我想将我自己的块合并到 resnet50 模型中,但我无法将它们连接在一起,因为模型不是连续的并且层不容易相互连接。
假设我的块是 def New_Block(inX: Tensor) -> Tensor:
然后我想在预训练的 Resnet50 的每个身份残差块之后合并它
请你帮帮我。
plot - 残差图和图的解释
我试图用以下方法绘制我的残差:
附图在这里:
然后我做了一个描述以获得以下信息:
我如何解释结果?
我的残差看起来是正态分布的,但是平均值是0.45
. 这是什么意思?