neural-network相关内容

是否可以在 tensorflow 中跨多个 GPU 拆分网络?

我计划运行一个非常大的循环网络(例如 2048x5),是否可以在 tensorflow 中的一个 GPU 上定义一层?我应该如何实现模型以达到最佳效率.我知道 GPU 间或 GPU-CPU-GPU 通信存在开销. 解决方案 在 TensorFlow 中跨多个 GPU 拆分大型模型当然是可能的,但以最佳方式实现它是一个困难的研究问题.通常,您需要执行以下操作: 用包装你的代码的大面积连 ..
发布时间:2021-12-31 16:36:07 Python

numpy : 计算 softmax 函数的导数

我正在尝试使用 MNIST 在一个简单的 3 层神经网络中理解 backpropagation. 输入层有weights 和bias.标签是 MNIST 所以它是一个 10 类向量. 第二层是线性变换.第三层是 softmax 激活 以获取输出作为概率. Backpropagation 计算每一步的导数并将其称为梯度. 前一层将 global 或 previous 渐变附加 ..
发布时间:2021-12-31 16:35:36 Python

在时间序列数据集上使用循环神经网络进行预测

说明 给定一个包含 10 个序列的数据集 - 一个序列对应于一天的股票价值记录 - 其中每个构成 50 个股票价值的样本记录,从早上或上午 9:05 开始,以 5 分钟的间隔分开.但是,有一个额外的记录(第 51 个样本)仅在训练集中可用,它比 50 个样本记录中的最后一个记录样本晚 2 小时,而不是 5 分钟.需要为测试集预测第 51 个样本,其中还给出了前 50 个样本. 我正在使 ..

C#中的数学优化

我整天都在分析一个应用程序,优化了一些代码后,我把这个留在了我的待办事项列表中.它是神经网络的激活函数,被调用超过 1 亿次.根据 dotTrace,它约占总函数时间的 60%. 你会如何优化它? public static float Sigmoid(double value) {return (float) (1.0/(1.0 + Math.Pow(Math.E, -value))); ..
发布时间:2021-12-31 16:34:32 C#/.NET

OpenCV 3.0 无法加载神经网络

我需要在我的 OpenCV(3.0 版)项目中使用神经网络.我已经创建并训练了神经网络并且它可以工作,但是如果我想从 YML 文件加载神经网络,它不会预测. 这是我创建、训练和保存我的神经网络的代码: FileStorage fs("nn.yml", FileStorage::WRITE);int input_neurons = 7;int hidden_​​neurons = 100;i ..
发布时间:2021-12-31 16:34:15 C/C++开发

NumPy 中的 Softmax 导数接近 0(实现)

我正在尝试为用 Numpy 编写的神经网络实现 softmax 函数.让 h 是给定信号 i 的 softmax 值. 我一直在努力实现 softmax 激活函数的偏导数. 我目前遇到的问题是,随着训练的进行,所有偏导数都接近 0.我已经用这个很好的答案交叉引用了我的数学,但是我的数学似乎不太好. 将 numpy 导入为 npdef softmax_function(信号,导数=假) ..
发布时间:2021-12-31 16:34:04 Python

如何在循环中为 pytorch 神经网络中的层创建变量名称

我正在 PyTorch 中实现一个简单的前馈神经网络 newtork.但是我想知道是否有更好的方法来向网络添加灵活的层数?也许通过在循环中命名它们,但我听说那是不可能的? 目前我是这样做的 导入火炬将 torch.nn 导入为 nn导入 torch.nn.functional 作为 F类网络(nn.Module):def __init__(self, input_dim, output_d ..
发布时间:2021-12-31 16:33:55 Python

如何训练和制作神经网络的序列化特征向量?

通过序列化,我的意思是输入的值以离散的时间间隔出现,并且向量的大小也事先未知.通常,神经网络采用固定大小并行输入神经元和固定大小并行输出神经元. 可在语音识别中使用序列化实现,其中我可以向网络提供波形的时间序列,并在输出端获取音素. 如果有人能指出一些现有的实现,那就太好了. 解决方案 简单的神经网络作为一种结构在时间尺度变形上没有不变性,这就是为什么将其应用于识别时间序列是不 ..
发布时间:2021-12-31 16:32:34 其他开发

为什么要使用 softmax 而不是标准归一化?

在神经网络的输出层,通常使用softmax函数来近似概率分布: 由于指数的原因,计算起来很昂贵.为什么不简单地执行 Z 变换使所有输出都是正的,然后通过将所有输出除以所有输出的总和来归一化? 解决方案 与标准归一化相比,Softmax 有一个很好的属性. 它以相当均匀的分布对神经网络的低刺激(认为是模糊的图像)做出反应,对概率接近 0 和 1 的高刺激(即大量,认为是清晰的图像 ..
发布时间:2021-12-31 16:31:48 其他开发

softmax 版本的triplet loss 的梯度计算

我一直在尝试在 中描述的Caffe中实现三元组损失的softmax版本Hoffer 和 Ailon,使用三元组网络的深度度量学习,ICLR 2015. 我已经尝试过这个,但我发现很难计算梯度,因为指数中的 L2 不是平方. 有人可以帮我吗? 解决方案 使用现有的 caffe 层实现 L2 规范可以为您省去所有麻烦. 这是在 caffe 中为“bottom"s x1 和 ..

使用 CNN 进行二元图像分类 - 选择“负"的最佳实践数据集?

比如说,我想训练一个 CNN 来检测图像是否是汽车. 选择“Not-Car"数据集的最佳实践或方法有哪些? 因为这个数据集可能是无限的(基本上不是汽车的任何东西) - 是否有关于数据集需要多大的指导方针?它们是否应该包含与汽车非常相似但又不是(飞机、船只等)的对象? 解决方案 与所有监督式机器学习一样,训练集应该反映模型将要使用的真实分布.神经网络基本上是一个函数逼近器.您的实 ..

我在哪里可以找到经过训练的模型(如 googleNet 的输出)与真实类别标签之间的标签映射?

大家,我是咖啡新手.目前,我尝试使用从模型动物园下载的经过训练的 GoogleNet 对一些图像进行分类.然而,网络的输出似乎是一个向量而不是真正的标签(如狗、猫).我在哪里可以找到经过训练的模型(如 googleNet 的输出)与其真实类别标签之间的标签映射?谢谢. 解决方案 如果你从 git 得到 caffe 你应该在 data/ilsvrc12 文件夹中找到一个 shell 脚本 g ..

如何防止caffe中特定层的反向计算

我想在 caffe 中禁用某些卷积层中的反向计算,我该怎么做? 我使用了 propagate_down 设置,但是发现它适用于 fc 层而不是卷积层. 请帮忙~ 第一次更新:我在 test/pool_proj 层设置了 propagate_down:false.我不希望它向后(但其他层向后).但是从日志文件来看,该层仍然需要向后. 第二次更新:让我们表示一个深度学习模型,从输入 ..

Caffe sigmoid 交叉熵损失

我将 sigmoid 交叉熵损失函数用于多标签分类问题,如 本教程.然而,在他们的教程结果和我的结果中,输出预测都在 (-Inf, Inf) 范围内,而 sigmoid 的范围是 [0, 1].sigmoid 是否只在 backprop 中处理?也就是说,前向传递不应该压缩输出吗? 解决方案 在这个例子中,"SigmoidCrossEntropyLoss" 层的输入是一个全连接层的输出.实 ..

如何更改 Keras 优化器代码

我对 Keras 真的很陌生,所以如果我的查询有点愚蠢,请原谅我.我使用默认方法在我的系统中安装了 Keras,它运行良好.我想在 Keras 中添加一个新的优化器,以便我可以在 model.compile 函数下轻松提及“optimizer = mynewone".如何更改 Keras 中的“optimizer.py"代码并确保更改反映在我的 Keras 环境中.这是我尝试过的: 假设我在 ..
发布时间:2021-12-27 17:30:39 Python