基本上,我試圖根據(jù)隨機(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]我試過(guò)類似的東西c = a + bpos = torch.randint(answer_count, size=(size, ))answers[:, pos] = c但我肯定做錯(cuò)了什么
1 回答

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