Как применять операции после факела form_ form в Python? - PullRequest
0 голосов
/ 04 июня 2019

у меня

x = torch.ones(n,3) 
x[:,0].uniform_(-1.,1)
x[:5]

И я получил

tensor([[-0.4899,  1.0000,  1.0000],
        [ 0.7395,  1.0000,  1.0000],
        [-0.3599,  1.0000,  1.0000],
        [ 0.0863,  1.0000,  1.0000],
        [ 0.8935,  1.0000,  1.0000]])

Чего я хочу добиться - это присвоить случайное значение первой и второй строке и сделать первый ряд в квадрате

[0.25,0.5,1] (пример)

У меня есть несколько вопросов:

  • как применить один и тот же uniform_ только к двум строкам?
  • Есть ли квадратная функция и как применить ее только к первой строке?
  • Можно ли это сделать за одну операцию?

1 Ответ

0 голосов
/ 04 июня 2019

Я смог сделать это так

x = torch.ones(n,3) 
x[:,1].uniform_(-1.,1.)
x[:,0] = x[:,1]**2
x[:5]

С выходом

tensor([[ 0.8429, -0.9181,  1.0000],
        [ 0.0638,  0.2525,  1.0000],
        [ 0.5168,  0.7189,  1.0000],
        [ 0.7832,  0.8850,  1.0000],
        [ 0.2592,  0.5091,  1.0000]])

Я бы все равно с удовольствием принял лучший ответ:)

...