PyTorch 隨機數(shù)生成占用 CPU 過高的解決方法
PyTorch 隨機數(shù)生成占用 CPU 過高的問題
今天在使用 pytorch 的過程中,發(fā)現(xiàn) CPU 占用率過高。經(jīng)過檢查,發(fā)現(xiàn)是因為先在 CPU 中生成了隨機數(shù),然后再調(diào)用.to(device)傳到 GPU,這樣導(dǎo)致效率變得很低,并且CPU 和 GPU 都被消耗。
查閱PyTorch文檔后發(fā)現(xiàn),torch.randn(shape, out)可以直接在GPU中生成隨機數(shù),只要shape是tensor.cuda.Tensor類型即可。這樣,就可以避免在 CPU 中生成過大的矩陣,而 shape 變量是很小的。
因此,下面的代碼就可以進行這種操作了。
noise = torch.cuda.FloatTensor(shape) if torch.cuda.is_available() else torch.FloatTensor(shape) torch.randn(shape, out=noise)
以上這篇PyTorch 隨機數(shù)生成占用 CPU 過高的解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python數(shù)據(jù)批量寫入ScrolledText的優(yōu)化方法
今天小編就為大家分享一篇python數(shù)據(jù)批量寫入ScrolledText的優(yōu)化方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10python獲取文件版本信息、公司名和產(chǎn)品名的方法
這篇文章主要介紹了python獲取文件版本信息、公司名和產(chǎn)品名的方法,是Python程序設(shè)計中非常實用的技巧,需要的朋友可以參考下2014-10-10python Yaml、Json、Dict之間的轉(zhuǎn)化
這篇文章主要介紹了python Yaml 、Json 、Dict 之間的轉(zhuǎn)化的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-10-10python格式化輸出保留2位小數(shù)的實現(xiàn)方法
這篇文章主要介紹了python格式化輸出保留2位小數(shù)的實現(xiàn)方法,需要的朋友可以參考下2019-07-07