Переменная Pytorch меняет числовую переменную, даже если адреса памяти не совпадают - PullRequest
0 голосов
/ 05 октября 2019

У меня есть следующий бит кода:

a = torch.ones(10); b = a.numpy()
a[0] += 1
print(a, b)

Обе переменные по существу содержат одинаковые значения, хотя я только изменил a. Однако я проверил адреса памяти a и b, используя hex(id(a)), и они отличаются. Так в этом случае, b является ли указатель на a? Что происходит?

1 Ответ

1 голос
/ 05 октября 2019

На самом деле необработанные данные находятся по тому же адресу. Вы можете проверить вот так:

a.storage().data_ptr()                    

Out [16]: 93866530123392

b.__array_interface__['data']             

Out [17]: (93866530123392, False)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...