问题标签 [conv-neural-network]
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.
neural-network - 尝试使用 Region CNN (R-CNN) 训练 ImageNet 模型
在使用caffe几个月后,我已经能够成功地训练自己的模型。例如,比我自己的模型更进一步,我已经能够用 1000 个类训练 ImageNet。
现在在我的项目中,我正在尝试提取我感兴趣的区域。之后我编译并运行了Fast R-CNN的演示,它工作正常,但示例模型只包含 20 个类,我想要更多的类,例如所有类。
我已经下载了带有真实图像的 ImageNet边界框。
现在,我已经一片空白,我无法弄清楚接下来的步骤,也没有关于如何做到这一点的文档。我唯一发现的是如何训练 INRIA 人物模型,他们提供数据集 + 注释 + python 脚本。
我的问题是:
- 有没有我错过的教程或指南?
- 是否已经有一个经过 1000 个类训练的模型能够对图像进行分类并提取边界框?
非常感谢您提前。
问候。
拉斐尔。
machine-learning - 在 caffe 中可视化卷积核
我一直在关注一个 Caffe 示例来绘制我的 ConvNet 中的卷积核。我在我的内核下方附上了一张图片,但它看起来与示例中的内核完全不同。我已经完全按照示例进行了操作,有人知道可能是什么问题吗?
我的网络是在一组模拟图像(有两个类)上训练的,网络的性能非常好,大约 80% 的测试准确率。
neural-network - 无法使此自动编码器网络正常运行(使用卷积层和 maxpool 层)
自编码器网络似乎比普通的分类器 MLP 网络要复杂得多。在使用Lasagne进行了几次尝试之后,我在重建输出中得到的所有结果都类似于MNIST数据库的所有图像的模糊平均,而不区分输入数字的实际含义。
我选择的网络结构是以下级联层:
- 输入层 (28x28)
- 2D 卷积层,滤波器大小 7x7
- 最大池化层,大小 3x3,步幅 2x2
- 密集(全连接)扁平化层,10 个单元(这是瓶颈)
- 密集(全连接)层,121 个单元
- 将图层重塑为 11x11
- 2D 卷积层,滤波器大小 3x3
- 2D 放大层因子 2
- 2D 卷积层,滤波器大小 3x3
- 2D 放大层因子 2
- 2D 卷积层,滤波器大小 5x5
- 特征最大池化(从 31x28x28 到 28x28)
所有 2D 卷积层都具有未绑定的偏差、sigmoid 激活和 31 个过滤器。
所有全连接层都有 sigmoid 激活。
使用的损失函数是平方误差,更新函数是adagrad
。学习块的长度是 100 个样本,乘以 1000 个 epoch。
为了完整起见,以下是我使用的代码:
关于如何改进这个网络以获得功能合理的自动编码器的任何想法?
theano - 使用 RELU 激活函数时如何初始化权重
我想制作一个 Conv 网络,并希望使用 RELU 激活功能。有人可以告诉我初始化权重的正确方法吗(我正在使用 Theano)
谢谢
neural-network - 在 Caffe 中使用组合图层时的形状不匹配
我正在使用 Caffe 库来训练卷积神经网络 (CNN)。但是,在将两个卷积层的输出应用到 inner_product 层之前,使用 concat 层组合输出时出现以下错误。
据我所知,我使用 concat 层的方式与BVLC_GoogLeNet 完全相同。concat 层可以在我的 train.prototxt 中的pastebin名称下找到combined
。我的输入 blob 的尺寸是256x8x7x24
,Caffe 中的数据格式是batch_size x channels x height x width
。我尝试过使用 pycaffe 界面和控制台进行培训。我犯了同样的错误。下面是使用控制台进行训练的代码。
这个错误是什么意思?以及如何解决?
更新
正如评论中提到的,日志只包含错误。错误的堆栈跟踪如下:
还应该注意的是,我的求解器和代码可以很好地训练完全相同的 CNN,在网络中只有 1 个“路径”,即没有 CONCAT 层。
neural-network - 神经网络 ConvNetJs - 为什么它不能收敛
首先......我不认为这是 ConvNetJs 的问题,我认为这是我对神经网络的理解的问题。
给定 2 个随机数,检测相加结果是否为偶数。
例子:
[4,6] = 真
[3,4] = 假
我的设置:
然后我训练它(使用随机数)进行 10,000 次迭代。它永远不会靠近。准确率最高约为 56%。
使用相同的设置但不同的问题:
第一个数字是否大于第二个数字。它在 1,000 次以下迭代中达到 99% 的准确率。
我尝试过的事情:更多层更多神经元 svm vs softmax
我想知道这是否是一个“不可分类”的问题。
matrix - TypeError:无法将类型 TensorType(float64,vector)(变量 Subtensor{int64:int64:}.0)转换为类型 TensorType(float64,matrix)
我正在使用 theano 和他们的 LeNet 教程来使用街景谷歌图像数据集训练 CNN。
我加载数据集:
我打印了尺寸:
然后我按照教程做:
打印结果:
我在这里遇到了问题(这是定义的第一个函数,接下来是验证和训练,只是为了让名称不会让您感到困惑,并且您不认为使用类似的训练和验证功能一切正常):
创建一个函数来计算模型所犯的错误
准确地说,我有一个错误:
错误本身表明(afau)我正在尝试将 smth 转换为矩阵。这是在哪里发生的,我想知道?
AFAIU,y 和 test_set_y 的维度一致。在我的代码中,它们都是一维向量。 为什么切片会导致错误?切片会创建矩阵吗?更重要的是,我该如何解决这个问题? 提前致谢!
预先感谢您的帮助!
python - 千层面一维卷积误差
我正在尝试使用 Lasagne 构建一个 CNN,并且我有 119 个特征变量。我能够使用 Lasagne 成功构建 MLP,但是当我尝试使用以下代码添加卷积层(使用 1D 卷积)时,出现错误。难道我做错了什么?Lasagne 中的一维卷积是否经过测试?
文件“/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/dense.py”,第 63 行,在 __init__ super(DenseLayer, self).__init__(incoming, **kwargs) 文件中/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne/layers/base.py”,第 35 行,在 __init__ self.input_shape = incoming.output_shape 文件“/Users/adityanagarajan/anaconda/lib/python2 .7/site-packages/lasagne/layers/base.py”,第 49 行,在 output_shape 返回 self.get_output_shape_for(self.input_shape) 文件“/Users/adityanagarajan/anaconda/lib/python2.7/site-packages/lasagne /layers/conv.py",第 237 行,在 get_output_shape_for output_length = conv_output_length(input_shape[2], IndexError: tuple index out of range
theano - CNN在theano中的大规模数据训练方法
我正在用 theano 训练一个带有 100 万张图像的 CNN。现在我很困惑如何准备训练数据。
我的问题是:
当图片大小调整为 64*64*3 时,整个数据的大小约为 100G。我应该将数据保存到单个 npy 文件还是一些较小的文件中?哪一个是有效的?
如何决定CNN的参数个数?1M/10 = 100K 怎么样?
我应该限制训练块的内存成本和 CNN 参数小于 GPU 内存吗?
我的电脑是 16G 内存和 GPU Titian。
非常感谢。