2 8 將tensor移動到GPU上

2022-02-25 21:33:15 字數 932 閱讀 9408

在pytorch中,所有對tensor的操作,都是由gpu-specific routines完成的。tensor的device屬性來控制tensor在計算機中存放的位置。

我們可以在tensor的構造器中顯示的指定tensor存放在gpu上

也可以用 to 方法把乙個cpu上的tensor複製到gpu上

這行**在gpu上建立了乙個新的,內容一致的tensor。

在gpu上的tensor的計算,就可以被gpu加速了。同樣的,在gpu上的tensor會對應乙個新的型別。如 torch.floattensor 對應 torch.cuda.floattensor.

基本,cpu和gpu上的tensor對應的api都是一樣的,這樣降低了開發成本。

對於多gpu的電腦,也可以通過0起始的索引顯式的指定使用的gpu

指定device後,所有對tensor的操作都會在gpu上執行

要注意的是:points_gpu 在計算完成後不會被移回cpu。上面這行**,做的事情是:

1 把points複製到gpu

2 在gpu上建立乙個新的tensor,用來接收計算結果

3 返回乙個指定計算結果的控制代碼

所以,如果對結果加乙個常數,還是在gpu上進行的,而不會返回到cpu

如果想把tensor返回給cpu,需要顯式的指定device引數

呼叫 to方法太麻煩了,我們可以使用簡寫的 cuda 方法 和 cpu 方法來對tensor進行移動。

但是,使用 to 方法,我們可以通過指定 dtype和device引數,實現同時改變tensor的資料型別和儲存位置。

Window和Mac平台將視窗移動到目標視窗的下面

在工作中遇到這樣乙個需求,將自己的視窗跟隨目標視窗移動,而且總是置於目標視窗的下面。mac平台使用cocoa的 首先獲取目標視窗的控制代碼id,並讀取bounds,然後將自己的視窗設定為相同的數值。然後設定視窗順序。void movewidgetbehind qwidget pwgt,long ta...

如何將電腦桌面轉移動到雲端

越來越多的公司正在使用雲桌面為其業務增長提供靈活性和可擴充套件性。虛擬桌面 雲桌面,它們基本上都意味著同樣的事情。啟動時載入到裝置上的所有內容都是虛擬化的,這意味著您可以在您選擇的任何裝置上訪問它。想象一下,無論您走到 您的桌面都會跟隨您,它不會只在一台裝置上 存在 但如果提供了正確的憑據,則可以從...

編寫儲存過程將異常節點移動到新建的乙個節點下

在處理之前,新節點的相關資訊已經插入到表中了 v normal node res id 唯一正常的節點的res id v new node res id 新建的節點的res id 功能 將異常節點及其子節點移動到新建的乙個節點,作為其子節點 注意 需要獲取新節點的級別,比如說為3 則需要做的操作如下...