2017-05-31 50 views
3

我對python相當陌生,並且正在使用dask,但我一直得到RuntimeWarning,並沒有真正明白爲什麼。有些見解會很好。在arccos中遇到的dask/python無效值

代碼:

x2 = da.random.uniform(0.01,0.1,size=1e6,chunks= 1e5) 
%time asd2 = da.arccos(x2) 

這不斷給我:

C:\ ProgramsPhD \蟒蛇\ LIB \站點包\ DASK \排列\ core.py:457:RuntimeWarning:遇到無效值in arccos o = func(* args,** kwargs)

回答

2

此警告是無害的。 Dask.array必須確定輸出數組的dtype,但由於它是懶惰的,它還不能訪問任何數據。爲了解決這個問題,它會在一小段數據上調用np.arccos。有時這些微小的數據是零,這會引發NumPy警告。

這很煩人,應該修復,但不會影響您的實際計算。

In [1]: import dask.array as da 

In [2]: x2 = da.random.uniform(0.01,0.1,size=1e6,chunks= 1e5) 
    ...: %time asd2 = da.arccos(x2) 
    ...: 
/home/mrocklin/workspace/dask/dask/array/core.py:476: RuntimeWarning: invalid value encountered in arccos 
    o = func(*args, **kwargs) 
CPU times: user 5.61 ms, sys: 108 µs, total: 5.72 ms 
Wall time: 9.66 ms 

In [3]: asd2 
Out[3]: dask.array<arccos, shape=(1000000,), dtype=float64, chunksize=(100000,)> 

In [4]: asd2.compute() 
Out[4]: 
array([ 1.48500108, 1.55036626, 1.50620869, ..., 1.52765354, 
     1.5051477 , 1.49203593]) 
相關問題