基本上,我試圖根據(jù)隨機索引將向量中的元素插入到矩陣中size = 100000answer_count = 4num_range = int(1e4)a = torch.randint(-num_range, num_range, size=(size, ))b = torch.randint(-num_range, num_range, size=(size, ))answers = torch.randint(-num_range, num_range, size=(size, answer_count))for i in range(size): answers[i, np.random.randint(answer_count)] = a[i] + b[i]我試過類似的東西c = a + bpos = torch.randint(answer_count, size=(size, ))answers[:, pos] = c但我肯定做錯了什么
1 回答

一只名叫tom的貓
TA貢獻1906條經(jīng)驗 獲得超3個贊
我認為您需要像這樣更改最后一行:
answers[np.arange(size),?pos]?=?c
問題在于高級索引的不正確使用。要了解這些索引的區(qū)別,請嘗試打印出answers[:, pos]
vs.?answers[np.arange(size), pos]
,您會明白為什么前一個不起作用。用一行answers[np.arange(size), pos]
選擇每一行,同時用每一行選擇所有行。
添加回答
舉報
0/150
提交
取消