neural-network相关内容
我遇到此错误 'ValueError:张量Tensor("Placeholder:0",shape =(1,1),dtype = int32) 不是该图的元素.' 在没有with tf.Graph(). as_default():的情况下,代码运行良好.但是,我需要多次调用M.sample(...),并且每次session.close()之后内存都不可用.可能有内存泄漏,但不确定在哪里
..
我想做一个简单的神经网络,我想使用ReLU函数.有人可以告诉我如何使用numpy实现该功能的线索. 感谢您的宝贵时间! 解决方案 有两种方法. >>> x = np.random.random((3, 2)) - 0.5 >>> x array([[-0.00590765, 0.18932873], [-0.32396051, 0.25586596],
..
我只是尝试找出如何使用 Caffe .为此,我只看了示例文件夹中的不同.prototxt文件.有一种我不明白的选择: # The learning rate policy lr_policy: "inv" 可能的值似乎是: "fixed" "inv" "step" "multistep" "stepearly" "poly" 有人可以解释一下这些选项吗? 解决
..
当我使用Theano或Tensorflow训练我的神经网络时,它们将在每个时期报告一个称为“损失"的变量. 我应该如何解释该变量?更高的损失是好是坏,这对我的神经网络的最终性能(准确性)意味着什么? 解决方案 损失越低,模型越好(除非模型过度适合训练数据).损失是根据训练和验证计算的,其互操作性是模型在这两套模型上的表现.与准确性不同,损失不是百分比.它是对训练或验证集中每个示例所犯
..
在以下TensorFlow函数中,我们必须在最后一层中提供人工神经元的激活.我了解.但是我不明白为什么叫logits?那不是数学函数吗? loss_function = tf.nn.softmax_cross_entropy_with_logits( logits = last_layer, labels = target_output ) 解决方案 登录是一个重载
..
我试图通过使用2个感知器网络来制作XOR门,但由于某种原因该网络无法学习,当我在图形中绘制误差变化时,误差达到静态水平并在该区域振荡. 此刻我没有给网络增加任何偏见. import numpy as np def S(x): return 1/(1+np.exp(-x)) win = np.random.randn(2,2) wout = np.random.randn(2
..
这是我的 train.prototxt .这是我的 deploy.prototxt . 当我要加载部署文件时,出现此错误: File "./python/caffe/classifier.py", line 29, in __init__ in_ = self.inputs[0] IndexError: list index out of range 因此,我删除了数据
..
我正在尝试使用我自己编写的神经网络来近似sine()函数.我已经在一个简单的OCR问题上测试了我的神经网络,并且可以正常工作,但是在将其应用于近似sine()时遇到了麻烦.我的问题是,在训练期间,我的误差恰好收敛于50%,所以我猜想它是完全随机的. 我正在使用一个输入神经元作为输入(0到PI),并使用一个输出神经元作为结果.我只有一个隐藏层,可以在其中更改神经元的数量,但是我目前正在尝试使用
..
我一直在阅读有关神经网络的一些知识,并且了解单层神经网络的一般原理.我知道需要附加层,但是为什么要使用非线性激活函数? 此问题后跟以下问题:解决方案 激活功能的目的是将 非线性引入网络 反过来,这使您可以对响应变量(又称目标变量,类标签或分数)建模,该变量随其解释变量非线性变化 non-linear 表示不能从输入的线性组合中再现输出(这与呈直线的输出不同-单词是仿射).
..
我正在尝试训练一个非常大的模型.因此,我只能将非常小的批处理大小放入GPU内存中.使用小批量生产的结果非常嘈杂的梯度估计. 我该怎么做才能避免这个问题? 解决方案 您可以在求解器参数中更改iter_size. Caffe在每个随机梯度下降步骤中的iter_size x batch_size实例上累积梯度. 因此,当由于内存有限而无法使用大的batch_size时,增加iter_size也
..
如果我们有10个特征向量,则在输入层中可以有10个神经节点;如果我们有5个输出类,则在输出层中可以有5个节点.但是在MLP中选择隐藏层数的标准是什么? 1个隐藏层中有多少个神经节点? 解决方案 有多少个隐藏层? 具有零个隐藏层的模型将解析可线性分离的数据.因此,除非您已经知道数据不是线性可分离的,否则验证它不会有任何伤害-为什么要使用比任务要求更复杂的模型?如果它是线性可分离的,那么
..
查看示例 'solver.prototxt' ,发布在BVLC/caffe git上,其中有一个训练元参数 weight_decay: 0.04 此meta参数是什么意思?我应该给它赋什么值? 解决方案 weight_decay元参数控制神经网络的正则化项. 在训练期间,将正则化项添加到网络的损耗中以计算反向传播梯度. weight_decay值确定此正则项在梯度计算中的主
..
训练多层感知器时, epoch 和 iteration 有什么区别? 一个的时期 =一个直传和一个向后通所有的训练样例 的批量大小 =一个向前/向后通训练示例的数目.批处理大小越大,您将需要更多的内存空间. 的数目的迭代 =遍数,每次通过使用[批量大小]数目的实例.需要明确的是,一个道次=一个直传+一个向后通(我们不计数直传和向后通作为两个不同的道次). 例:如果你有1000个训练示例
..
在来自Caffe,我想实现一个完全卷积网络的语义分割.我想知道有没有设置你的值以下的超参数的具体策略: test_iter test_interval iter_size max_iter 这是否取决于您训练集所拥有的图像数量?如果是这样,怎么办? 1.训练集大小,您拥有的训练样例总数,我们称此数量为T. 的 2.培训批次大小:在单个批次中一起处理的培训示例的数量,通常由
..
(此问题的更新已添加.) 我在根特,比利时的大学研究生;我的研究是关于深度卷积神经网络的情感识别.我使用的来自Caffe 框架来实现细胞神经网络. 最近,我遇到了有关班级失衡的问题.我使用的是9216个训练样本. 5%的阳性标记的(1),将剩余的样品标记为负(0). 我正在使用 SigmoidCrossEntropyLoss 层来计算损失.训练时,即使经过几个纪元,损失也会减少,
..
我正在尝试从头开始构建神经网络. 在所有AI文献中都达成共识,即权重应初始化为随机数,以使网络更快收敛. 但是为什么神经网络的初始权重被初始化为随机数? 我在某处读过,这样做是为了“打破对称性",这使神经网络学习得更快.如何打破对称,使其更快的学习? 将权重初始化为0会不是一个更好的主意?这样,权重就能更快地找到其值(正数或负数)? 在权重随机化之后,除了希望它们在初始化时
..
我已经注意到,在训练期间经常出现NAN. 通常情况下,它似乎是在内部产品/完全连接或卷积层爆炸中通过权重引入的. 是否由于梯度计算被炸开而发生?还是因为权重初始化(如果这样,为什么权重初始化会产生这种效果)?还是可能是由于输入数据的性质引起的? 这里的首要问题很简单:在训练过程中发生NAN的最常见原因是什么?其次,有什么方法可以消除这种情况(为什么它们起作用)? 解决方案 好
..
在培训过程中遇到困难时( nan s , 'solver.prototxt'文件中的debug_info: true . 培训日志如下: I1109 ...] [Forward] Layer data, top blob data data: 0.343971 I1109 ...] [Forward] Layer conv1, top blob conv1 da
..
这是关于神经网络理论的主要问题: 为什么我们必须对神经网络的输入进行归一化? 我了解有时,例如当输入值是非数字时,必须执行某些转换,但是当我们有数字输入时?为什么数字必须在一定间隔内? 如果数据不规范会怎样? 解决方案 如果输入变量是线性组合的(如在MLP中),则为 至少从理论上讲,很少有必要严格标准化输入.这 原因是输入向量的任何重新缩放都可以通过以下方式有效地撤消
..
Caffe的图层类型为"Python". 例如,此图层类型可用作损失层. 在其他情况下,它用作输入层. 此图层类型是什么? 该层如何使用? 解决方案 修剪和Bharat 的答案给出了"Python"层的总体目的:通用层,它是用python而不是c ++实现的. 我打算将此答案用作使用"Python"层的教程. "Python"层的教程 什么是"Python
..