小编blu*_*nox的帖子

PyTorch - 连续()

我在github上看到了这个LSTM语言模型的例子(链接).它一般来说对我来说非常清楚.但是我仍然在努力理解调用的内容contiguous(),这在代码中会多次发生.

例如,在代码输入的第74/75行中,创建LSTM的目标序列.数据(存储在其中ids)是二维的,其中第一维是批量大小.

for i in range(0, ids.size(1) - seq_length, seq_length):
    # Get batch inputs and targets
    inputs = Variable(ids[:, i:i+seq_length])
    targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous())
Run Code Online (Sandbox Code Playgroud)

举个简单的例子,当使用批量大小为1和seq_length10时inputs,targets看起来像这样:

inputs Variable containing:
0     1     2     3     4     5     6     7     8     9
[torch.LongTensor of size 1x10]

targets Variable containing:
1     2     3     4     5     6     7     8     9    10
[torch.LongTensor of size 1x10]
Run Code Online (Sandbox Code Playgroud)

所以一般来说我的问题是,contiguous()我需要什么以及为什么需要它?

此外,我不明白为什么该方法被调用目标序列而不是输入序列,因为两个变量都包含相同的数据.

怎么可能targetsinputs不连续的,仍然是连续的? …

neural-network contiguous deep-learning lstm pytorch

52
推荐指数
6
解决办法
3万
查看次数

神经网络LSTM从数据帧输入形状

我正在尝试用Keras实现LSTM.

我知道Keras的LSTM需要一个带有形状(nb_samples, timesteps, input_dim)作为输入的3D张量.但是,我不完全确定在我的情况下输入应该是什么样子,因为我只有一个T观察样本用于每个输入,而不是多个样本,即(nb_samples=1, timesteps=T, input_dim=N).将每个输入分成长度样本是否更好T/MT对我来说是几百万的观察,那么在这种情况下每个样本应该多长时间,即我将如何选择M

另外,我是正确的,因为这个张量应该看起来像:

[[[a_11, a_12, ..., a_1M], [a_21, a_22, ..., a_2M], ..., [a_N1, a_N2, ..., a_NM]], 
 [[b_11, b_12, ..., b_1M], [b_21, b_22, ..., b_2M], ..., [b_N1, b_N2, ..., b_NM]], 
 ..., 
 [[x_11, x_12, ..., a_1M], [x_21, x_22, ..., x_2M], ..., [x_N1, x_N2, ..., x_NM]]]
Run Code Online (Sandbox Code Playgroud)

其中M和N如前所述定义,x对应于我将从上面讨论的分裂中获得的最后一个样本?

最后,给定一个pandas数据帧,T每列中都有观察值,N列,每个输入一个,如何创建这样的输入以馈送给Keras?

python pandas lstm keras

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

ModuleNotFoundError:没有名为'sklearn'的模块

我想导入sklearn,但显然没有模块:

ModuleNotFoundError: No module named 'sklearn'
Run Code Online (Sandbox Code Playgroud)

我正在使用Anaconda Python 3.6.1; 我到处检查过但仍无法找到答案.

当我使用命令时: conda install scikit-learn这不应该只是工作吗?
anaconda在哪里安装包?

我正在检查我的python库中的框架,并且没有任何关于sklearn只有numpy和scipy.

请帮助,我是新手使用python包,尤其是通过anaconda.

python anaconda

28
推荐指数
5
解决办法
8万
查看次数

如何检查两个Torch张量或矩阵是否相等?

我需要一个Torch命令来检查两个张量是否具有相同的内容,如果它们具有相同的内容则返回TRUE.

例如:

local tens_a = torch.Tensor({9,8,7,6});
local tens_b = torch.Tensor({9,8,7,6});

if (tens_a EQUIVALENCE_COMMAND tens_b) then ... end
Run Code Online (Sandbox Code Playgroud)

我应该在这个脚本中使用什么而不是EQUIVALENCE_COMMAND

我试过简单,==但它不起作用.

lua torch

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

PyTorch/Gensim - 如何加载预训练的单词嵌入

我想将带有gensim的预训练word2vec嵌入到PyTorch嵌入层中.

所以我的问题是,如何将gensim加载的嵌入权重加到PyTorch嵌入层中.

提前致谢!

python embedding neural-network gensim pytorch

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

nn.Dropout vs. F.dropout pyTorch

通过使用pyTorch有两种方式滤除 torch.nn.Dropouttorch.nn.functional.Dropout.

我很难看到使用它们之间的区别
- 何时使用什么?
- 这有什么不同吗?
当我换掉它时,我没有看到任何性能差异.

neural-network deep-learning pytorch dropout

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

将 JSONL 文件加载为 JSON 对象

我想在 python 中加载一个 JSONL 文件作为 JSON 对象。有没有简单的方法来做到这一点?

python json jsonlines

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

使用Tensorflow执行matmul时的ValueError

我是TensorFlow的初学者,我正在尝试将两个矩阵相乘,但我不断得到一个例外:

ValueError: Shapes TensorShape([Dimension(2)]) and TensorShape([Dimension(None), Dimension(None)]) must have the same rank
Run Code Online (Sandbox Code Playgroud)

这是最小的示例代码:

data = np.array([0.1, 0.2])
x = tf.placeholder("float", shape=[2])
T1 = tf.Variable(tf.ones([2,2]))
l1 = tf.matmul(T1, x)
init = tf.initialize_all_variables()

with tf.Session() as sess:
    sess.run(init)
    sess.run(feed_dict={x: data}
Run Code Online (Sandbox Code Playgroud)

令人困惑的是,以下非常相似的代码工作正常:

data = np.array([0.1, 0.2])
x = tf.placeholder("float", shape=[2])
T1 = tf.Variable(tf.ones([2,2]))
init = tf.initialize_all_variables()

with tf.Session() as sess:
    sess.run(init)
    sess.run(T1*x, feed_dict={x: data}
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出问题是什么?我必须在这里遗漏一些明显的东西..

tensorflow

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

pytorch的并行方法和分布式方法如何工作?

我不是分布式系统和CUDA的专家.但有一个非常有趣的功能,PyTorch支持的是nn.DataParallelnn.DistributedDataParallel.他们是如何实际实施的?他们如何分离常见的嵌入和同步数据?

这是一个基本的例子DataParallel.

import torch.nn as nn
from torch.autograd.variable import Variable
import numpy as np

class Model(nn.Module):
    def __init__(self):
        super().__init__(
            embedding=nn.Embedding(1000, 10),
            rnn=nn.Linear(10, 10),
        )

    def forward(self, x):
        x = self.embedding(x)
        x = self.rnn(x)
        return x

model = nn.DataParallel(Model())
model.forward(Variable.from_numpy(np.array([1,2,3,4,5,6], dtype=np.int64)).cuda()).cpu()
Run Code Online (Sandbox Code Playgroud)

PyTorch可以拆分输入并将它们发送到许多GPU并将结果合并.

它如何管理并行模型或分布式模型的嵌入和同步?
我在PyTorch的代码中闲逛,但很难知道基础知识是如何工作的.

c++ parallel-processing distributed-computing python-3.x pytorch

17
推荐指数
1
解决办法
669
查看次数

在VS Code中打印一个pandas数据帧

我想知道在调试(第一张图片)时是否可以在VS Code中显示一个pandas数据帧,因为它显示在PyCharm中(第二张图片)?

谢谢你的帮助.


df 在vs代码中打印:

df在vs代码中打印

df 在pycharm中打印:

df在pycharm中打印

python debugging dataframe pandas visual-studio-code

16
推荐指数
2
解决办法
1506
查看次数