[英]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.