小编Aer*_*rin的帖子

在pytorch视图中-1是什么意思?

如问题所述,-1在pytorch 中做什么view

In [2]: a = torch.arange(1, 17)

In [3]: a
Out[3]:
tensor([  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,
         11.,  12.,  13.,  14.,  15.,  16.])

In [7]: a.view(-1,1)
Out[7]:
tensor([[  1.],
        [  2.],
        [  3.],
        [  4.],
        [  5.],
        [  6.],
        [  7.],
        [  8.],
        [  9.],
        [ 10.],
        [ 11.],
        [ 12.],
        [ 13.],
        [ 14.],
        [ 15.],
        [ 16.]])

In [8]: a.view(1,-1)
Out[8]:
tensor([[  1.,   2.,   3.,   4.,   5.,   6., …
Run Code Online (Sandbox Code Playgroud)

reshape pytorch

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

pytorch广播如何运作?

torch.add(torch.ones(4,1), torch.randn(4))
Run Code Online (Sandbox Code Playgroud)

产生尺寸为Tensor : torch.Size([4,4]).

有人可以提供这背后的逻辑吗?

python numpy linear-algebra numpy-broadcasting pytorch

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

pandas向量化运算获取字符串的长度

我有一个熊猫数据框。

df = pd.DataFrame(['Donald Dump','Make America Great Again!','Donald Shrimp'],
                   columns=['text'])
Run Code Online (Sandbox Code Playgroud)

我喜欢的是 Dataframe 中的另一列,其中包含“文本”列中字符串的长度。

对于上面的例子,它将是

                        text  text_length
0                Donald Dump           11
1  Make America Great Again!           25
2              Donald Shrimp           13
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环它并获取长度,但是有什么方法可以向量化这个操作吗?我有几百万行。

python vectorization string-length dataframe pandas

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

属性错误:模块“火炬”没有属性“设备”

---> 13 device = torch.device({"cuda"} if torch.cuda.is_available() else {"cpu"})
     14
     15

AttributeError: module 'torch' has no attribute 'device'
Run Code Online (Sandbox Code Playgroud)

我 99% 确定这是因为我没有将 pytorch 从 0.31 升级到 0.4,但我现在无法升级 pytorch。

我需要将 .device (0.4) 转换为可在 0.31 中运行的内容。

我检查了迁移文档 ,但它没有提供如何转换 torch.device 。请帮忙!

python pytorch

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

无法理解 scipy.sparse.csr_matrix 示例

我无法csr_matrix理解 scipy 文档中的示例:https ://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html

有人可以解释这个例子是如何工作的吗?

>>> row = np.array([0, 0, 1, 2, 2, 2])
>>> col = np.array([0, 2, 2, 0, 1, 2])
>>> data = np.array([1, 2, 3, 4, 5, 6])
>>> csr_matrix((data, (row, col)), shape=(3, 3)).toarray()
array([[1, 0, 2],
       [0, 0, 3],
       [4, 5, 6]])
Run Code Online (Sandbox Code Playgroud)

我相信这是遵循这种格式。

csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)])

where data, row_ind and col_ind satisfy the relationship a[row_ind[k], col_ind[k]] = data[k].

什么是a在这里吗?

python scipy

3
推荐指数
2
解决办法
7349
查看次数

python regex - 将换行符 (\n) 替换为其他内容

我正在尝试将多个连续换行符后跟大写字母转换为“____”,以便我可以解析它们。

例如,

i = "Inc\n\nContact"
i = re.sub(r'([\n]+)([A-Z])+', r"____\2", i) 

In [25]: i
Out [25]: 'Inc____Contact'
Run Code Online (Sandbox Code Playgroud)

这个字符串工作正常。我可以稍后使用 ____ 解析它们。

但是它不适用于这个特定的字符串。

i =  "(2 months)\n\nML"
i = re.sub(r'([\n]+)([A-Z])+', r"____\2", i)

Out [31]: '(2 months)____L'
Run Code Online (Sandbox Code Playgroud)

它吃了大写 M。我在这里错过了什么?

python regex

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

python pandas.Series.str.contains包含空格的单词

我正在尝试在pandas数据帧中找到包含"internet","program","socket programming"的字符串.

df.col_name.str.contains(" internet | program | socket programming ", case=False)
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?或者我需要使用\和原始字符串来逃避空间吗?

python regex dataframe pandas

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

使用递归打印 n 选择 k 组合算法

这一定是一个经典的面试问题,但是,我在理解它时遇到了问题。

下面是我在 Python 中的实现,如果你运行它,它只会打印ab, ac, ad. 它没有达到这个'b' (bc, bd)水平。

def Print_nCk (the_list, k, str_builder, used):
    if len(str_builder) == k:
        print str_builder
        return 
    else:
        for i in xrange(len(the_list)):
            if used[i] !=True:
                str_builder+=the_list[i]
                used[i] = True
                Print_nCk(the_list, k, str_builder, used)
                str_builder = str_builder[:-1]


Print_nCk(['a','b','c','d'], 2, "",[False,False,False,False])
Run Code Online (Sandbox Code Playgroud)

正确的答案是ab,ac,ad,bc,bd,cd当上面的线通过时。

我知道从这里不使用used参数的正确实现(http://www.geeksforgeeks.org/print-all-possible-combinations-of-r-elements-in-a-given-array-of-size-n/)但我的问题是我的实现有什么问题?

你能解释一下吗?

为了调试,我每次都打印出“used”。该usedPARAM打印“广告”,那么它不走比更深之后变为(不错,不错,不错,不错)。used如果我坚持使用,修复 的聪明方法是used什么?

python algorithm recursion combinations

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

为什么我们要批量处理矩阵产品?

我正在关注Pytorch seq2seq教程,其使用torch.bmm方法如下:

attn_applied = torch.bmm(attn_weights.unsqueeze(0),
                         encoder_outputs.unsqueeze(0))
Run Code Online (Sandbox Code Playgroud)

我了解为什么我们需要将注意力权重和编码器输出相乘。

我不太明白的是我们bmm在这里需要方法的原因。 torch.bmm文件说

对批处理1和批处理2中存储的矩阵执行批处理矩阵矩阵乘积。

batch1和batch2必须是每个都包含相同数量矩阵的3-D张量。

如果batch1是(b×n×m)张量,batch2是(b×m×p)张量,out将是(b×n×p)张量。

在此处输入图片说明

deep-learning pytorch seq2seq

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

pytorch中的tensorflow stop_gradient等效

tf.stop_gradient()pytorch中的等效项(提供了一种在反向传播期间不计算某些变量的梯度的方法)?

tensorflow pytorch

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