任何人都可以通过实例清楚地解释CNN(深度学习)中的1D,2D和3D卷积之间的区别吗?
signal-processing machine-learning convolution deep-learning conv-neural-network
许多用户都将其作为切换到Pytorch的原因,但是我还没有找到牺牲/最渴望的实用质量,速度和执行力的理由/解释。
以下是代码基准测试性能,即TF1与TF2的对比-TF1的运行速度提高了47%至276%。
我的问题是:在图形或硬件级别上,什么导致如此显着的下降?
寻找详细的答案-已经熟悉广泛的概念。相关的Git
规格:CUDA 10.0.130,cuDNN 7.4.2,Python 3.7.4,Windows 10,GTX 1070
基准测试结果:

UPDATE:禁用每下面的代码不会急于执行没有帮助。但是,该行为是不一致的:有时以图形方式运行有很大帮助,而其他时候其运行速度相对于Eager 慢。
由于TF开发人员没有出现在任何地方,因此我将自己进行调查-可以跟踪相关的Github问题的进展。
更新2:分享大量实验结果,并附有解释;应该在今天完成。
基准代码:
# use tensorflow.keras... to benchmark tf.keras; used GPU for all above benchmarks
from keras.layers import Input, Dense, LSTM, Bidirectional, Conv1D
from keras.layers import Flatten, Dropout
from keras.models import Model
from keras.optimizers import Adam
import keras.backend as K
import numpy as np
from time import time
batch_shape = (32, 400, 16) …Run Code Online (Sandbox Code Playgroud) 我遇到过研究出版物和问答讨论检查 RNN 权重的必要性;一些相关的答案是在正确的方向,建议get_weights()- 但我如何真正有意义地可视化权重?也就是说,LSTM 和 GRU 都有门,并且所有RNN 都有用作独立特征提取器的通道- 那么我如何(1)获取每个门的权重,以及(2)以信息丰富的方式绘制它们?
python visualization keras tensorflow recurrent-neural-network