标签: deep-learning

Tensorflow中的numpy随机选择

在Tensorflow中是否存在与numpy随机选择等效的函数.在numpy中,我们可以从给定列表中随机获取一个项目及其权重.

 np.random.choice([1,2,3,5], 1, p=[0.1, 0, 0.3, 0.6, 0])
Run Code Online (Sandbox Code Playgroud)

此代码将使用p权重从给定列表中选择一个项目.

python numpy deep-learning tensorflow

21
推荐指数
3
解决办法
1万
查看次数

使用PyTorch生成LSTM时序

几天来,我正在尝试使用LSTM构建一个简单的正弦波序列生成,到目前为止还没有任何成功的一瞥.

我从时间序列预测示例开始

我想要做的就是:

  • 使用与LBFGS不同的优化器(例如RMSprob)
  • 尝试不同的信号(更多的正弦波成分)

这是我的代码的链接."experiment.py"是主文件

我所做的是:

  • 我生成人工时间序列数据(正弦波)
  • 我将这些时间序列数据切割成小序列
  • 我的模型的输入是时间序列0 ... T,输出是时间序列1 ... T + 1

会发生什么:

  • 培训和验证损失平稳下降
  • 测试损失非常低
  • 但是,当我尝试从种子(测试数据中的随机序列)开始生成任意长度的序列时,一切都会出错.输出总是平坦的

生成信号的形状

我根本看不出问题所在.我现在正在玩这个星期一周,没有任何进展.我会非常感谢任何帮助.

谢谢

python machine-learning deep-learning lstm pytorch

21
推荐指数
1
解决办法
4100
查看次数

使用 PyTorch 直接将数据加载到 GPU 中

在训练循环中,我将一批数据加载到 CPU 中,然后将其传输到 GPU:

import torch.utils as utils

train_loader = utils.data.DataLoader(train_dataset, batch_size=128, shuffle=True, num_workers=4, pin_memory=True)

for inputs, labels in train_loader:
    inputs, labels = inputs.to(device), labels.to(device)
Run Code Online (Sandbox Code Playgroud)

这种加载数据的方式非常耗时。有什么方法可以直接将数据加载到 GPU 中而不需要传输步骤吗?

gpu python-3.x deep-learning pytorch dataloader

21
推荐指数
2
解决办法
4万
查看次数

Pytorch 出现 RuntimeError:找到 dtype Double 但预期为 Float

我正在尝试在 PyTorch 中实现神经网络,但它似乎不起作用。问题似乎出在训练循环中。我花了几个小时来解决这个问题,但无法做到正确。请帮忙,谢谢。

我还没有添加数据预处理部分。

# importing libraries
import pandas as pd
import numpy as np
import torch
import torch.nn as nn
from torch.utils.data import Dataset
from torch.utils.data import DataLoader
import torch.nn.functional as F
Run Code Online (Sandbox Code Playgroud)
# get x function (dataset related stuff)
def Getx(idx):
    sample = samples[idx]
    vector = Calculating_bottom(sample)
    vector = torch.as_tensor(vector, dtype = torch.float64)
    
    return vector

# get y function (dataset related stuff)
def Gety(idx):
    y = np.array(train.iloc[idx, 4], dtype = np.float64)
    y = torch.as_tensor(y, dtype = torch.float64)
    
    return y …
Run Code Online (Sandbox Code Playgroud)

python precision casting deep-learning pytorch

21
推荐指数
2
解决办法
5万
查看次数

在神经网络中实现稀疏连接(Theano)

神经网络的一些使用案例要求并非所有神经元都连接在两个连续层之间.对于我的神经网络架构,我需要有一个层,其中每个神经元只与前一层中某些预先指定的神经元有连接(在某些任意位置,而不是像卷积层这样的模式).这是为了对特定图形上的数据建模所必需的.我需要在Theano中实现这个"Sparse"层,但我不习惯Theano的编程方式.

似乎在Theano中编写稀疏连接的最有效方法是使用theano.tensor.nnet.blocksparse.SparseBlockGemv.另一种方法是进行矩阵乘法,其中许多权重设置为0(=无连接),但与SparseBlockGemv每个神经元仅连接到~100000个神经元中前一层中的2-6个神经元相比,这将是非常低效的..此外,100000x100000的重量矩阵不适合我的RAM/GPU.因此,有人可以提供一个如何使用该SparseBlockGemv方法或其他计算效率方法实现稀疏连接的示例吗?

一个完美的例子是在隐藏层(和softmax之前)之后用额外的层扩展MLP Theano教程,其中每个神经元仅与前一层中的神经元子集连接.但是,其他例子也非常受欢迎!

编辑:请注意,该图层必须在Theano中实现,因为它只是较大架构的一小部分.

python machine-learning neural-network theano deep-learning

20
推荐指数
1
解决办法
1484
查看次数

数据增强图像数据生成器Keras语义分割

我使用Keras在一些图像数据上拟合完整的卷积网络以进行语义分割.但是,我有一些问题过度拟合.我没有那么多数据,我想做数据增加.但是,由于我想进行像素分类,我需要任何增强功能,如翻转,旋转和移位,以应用于特征图像和标签图像.理想情况下,我想使用Keras ImageDataGenerator进行即时转换.但是,据我所知,您不能对功能和标签数据进行等效转换.

有谁知道是否是这种情况,如果没有,有没有人有任何想法?否则,我将使用其他工具来创建更大的数据集,并立即将其全部输入.

谢谢!

computer-vision image-segmentation deep-learning keras

20
推荐指数
2
解决办法
1万
查看次数

keras:model.predict和model.predict_proba之间有什么区别

我发现model.predict和model.predict_proba都给出了一个相同的2D矩阵,表示每行的每个类别的概率.

这两个功能有什么区别?

python machine-learning deep-learning keras

20
推荐指数
1
解决办法
3万
查看次数

如何使用Keras在TensorBoard中显示自定义图像?

我正在研究Keras中的分段问题,我希望在每个训练时代结束时显示分段结果.

我想要一些类似于Tensorflow:如何在Tensorboard中显示自定义图像(例如Matplotlib Plots),但使用Keras.我知道Keras有TensorBoard回调但看起来似乎有限.

我知道这会破坏Keras的后端抽象,但无论如何我对使用TensorFlow后端感兴趣.

是否有可能通过Keras + TensorFlow实现这一目标?

deep-learning keras tensorflow tensorboard

20
推荐指数
2
解决办法
9964
查看次数

如何理解Keras模型拟合中的损失acc val_loss val_acc

我是Keras的新手,对如何理解我的模型结果有一些疑问.这是我的结果:(为方便起见,我只在每个纪元后粘贴损失acc val_loss val_acc)

训练4160个样本,验证1040个样本如下:

Epoch 1/20
4160/4160 - loss: 3.3455 - acc: 0.1560 - val_loss: 1.6047 - val_acc: 0.4721

Epoch 2/20
4160/4160 - loss: 1.7639 - acc: 0.4274 - val_loss: 0.7060 - val_acc: 0.8019

Epoch 3/20
4160/4160 - loss: 1.0887 - acc: 0.5978 - val_loss: 0.3707 - val_acc: 0.9087

Epoch 4/20
4160/4160 - loss: 0.7736 - acc: 0.7067 - val_loss: 0.2619 - val_acc: 0.9442

Epoch 5/20
4160/4160 - loss: 0.5784 - acc: 0.7690 - val_loss: 0.2058 - val_acc: 0.9433

Epoch …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning keras

20
推荐指数
2
解决办法
2万
查看次数

什么是Keras的"指标"?

目前还不清楚是什么metrics(如下面的代码所示).他们究竟在评估什么?为什么我们需要在model?中定义它们?为什么我们可以在一个模型中拥有多个指标?更重要的是,这背后的机制是什么?任何科学参考也值得赞赏.

model.compile(loss='mean_squared_error',
              optimizer='sgd',
              metrics=['mae', 'acc'])
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning keras

20
推荐指数
2
解决办法
6097
查看次数