标签: computation-graph

为什么 GPU 中的张量无法获得 grad

a = torch.nn.Parameter(torch.ones(5, 5))
a = a.cuda()
print(a.requires_grad)
b = a
b = b - 2
print('a ', a)
print('b ', b)
loss = (b - 1).pow(2).sum()
loss.backward()
print(a.grad)
print(b.grad)
Run Code Online (Sandbox Code Playgroud)

执行代码后,虽然a.grad是。但如果把代码去掉,则可向后丢失。Nonea.requires_gradTruea = a.cuda()a.grad

python pytorch autograd computation-graph

5
推荐指数
1
解决办法
221
查看次数

pytorch动态计算图中的权重更新是如何工作的?

当权重分片(=多次重复使用)时,动态计算图的 Pytorch 代码中的权重更新如何工作

https://pytorch.org/tutorials/beginner/examples_nn/dynamic_net.html#sphx-glr-beginner-examples-nn-dynamic-net-py

import random
import torch

class DynamicNet(torch.nn.Module):
    def __init__(self, D_in, H, D_out):
    """
    In the constructor we construct three nn.Linear instances that we will use
    in the forward pass.
    """
    super(DynamicNet, self).__init__()
    self.input_linear = torch.nn.Linear(D_in, H)
    self.middle_linear = torch.nn.Linear(H, H)
    self.output_linear = torch.nn.Linear(H, D_out)

def forward(self, x):
    """
    For the forward pass of the model, we randomly choose either 0, 1, 2, or 3
    and reuse the middle_linear Module that many times to compute hidden layer
    representations. …
Run Code Online (Sandbox Code Playgroud)

deep-learning pytorch computation-graph

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

Tensorflow tf.placeholder with shape = []

我正在查看一个 Tensorflow 代码,该代码使用形状 = [] 的占位符将学习率输入到图形中,如下所示:

self.lr_placeholder = tf.placeholder(dtype=tf.float32, shape=[])
Run Code Online (Sandbox Code Playgroud)

我查看了 Tensorflow ( https://www.tensorflow.org/api_docs/python/tf/placeholder )的官方文档页面以了解 shape=[] 的含义,但无法获得形状设置为空的解释列表。如果有人可以解释这是什么意思。

python shapes deep-learning tensorflow computation-graph

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