簡體   English   中英

Python:將numpy默認為float32

[英]Python: Making numpy default to float32

是否有任何干凈的方法來設置numpy以使用float32值而不是全局使用float64?

不是我知道的。 您需要在調用任何數組的構造函數時顯式指定dtype,或者在將數組傳遞給GPU代碼之前將數組轉換為float32(使用ndarray.astype方法)(我認為這是問題所針對的? )。 如果是你真正擔心的GPU情況,我贊成后者 - 如果沒有對numpy廣播規則和非常精心設計的代碼進行非常透徹的理解,嘗試保持所有內容都會變得非常煩人。

另一種方法可能是創建自己的方法,重載標准的numpy構造函數(如numpy.zeros,numpy.ones,numpy.empty)。 這應該非常接近將所有內容保存在float32中。

這個問題出現在NumPy問題跟蹤器上。 答案是:

對不起,沒有。 而且我擔心我們不太可能添加這樣的東西[。]

您可以通過以下方式重載每個功能:

def array(*args, **kwargs):
    kwargs.setdefault("dtype", np.float32)
    return np.array(*args, **kwargs)

由njsmith在github上發布

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM