如问题所述,-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) torch.add(torch.ones(4,1), torch.randn(4))
Run Code Online (Sandbox Code Playgroud)
产生尺寸为Tensor : torch.Size([4,4])
.
有人可以提供这背后的逻辑吗?
我有一个熊猫数据框。
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)
我知道我可以循环它并获取长度,但是有什么方法可以向量化这个操作吗?我有几百万行。
---> 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 。请帮忙!
我无法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
在这里吗?
我正在尝试将多个连续换行符后跟大写字母转换为“____”,以便我可以解析它们。
例如,
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。我在这里错过了什么?
我正在尝试在pandas数据帧中找到包含"internet","program","socket programming"的字符串.
df.col_name.str.contains(" internet | program | socket programming ", case=False)
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?或者我需要使用\和原始字符串来逃避空间吗?
这一定是一个经典的面试问题,但是,我在理解它时遇到了问题。
下面是我在 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”。该used
PARAM打印“广告”,那么它不走比更深之后变为(不错,不错,不错,不错)。used
如果我坚持使用,修复 的聪明方法是used
什么?
我正在关注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)张量。
tf.stop_gradient()
pytorch中的等效项(提供了一种在反向传播期间不计算某些变量的梯度的方法)?