1. 程式人生 > >【Python】numpy陣列用dtype=float16初始化的坑

【Python】numpy陣列用dtype=float16初始化的坑

【Python坑系列】

為了節約空間,使用numpy陣列時候採用了float16,結果發現精度遠遠不達標

預設的floar64是最接近原本浮點數的

a = 0.0001 * np.ones(10,np.float16)

a
Out[206]: 
array([ 0.00010002,  0.00010002,  0.00010002,  0.00010002,  0.00010002,
        0.00010002,  0.00010002,  0.00010002,  0.00010002,  0.00010002], dtype=float16)

a = 0.0001 * np.ones(10,np.float32)

a
Out[208]: 
array([  9.99999975e-05,   9.99999975e-05,   9.99999975e-05,
         9.99999975e-05,   9.99999975e-05,   9.99999975e-05,
         9.99999975e-05,   9.99999975e-05,   9.99999975e-05,
         9.99999975e-05], dtype=float32)

a = 0.0001 * np.ones(10,np.float64)

a
Out[210]: 
array([ 0.0001,  0.0001,  0.0001,  0.0001,  0.0001,  0.0001,  0.0001,
        0.0001,  0.0001,  0.0001])

a = 0.9999 * np.ones(10,np.float64)

a
Out[212]: 
array([ 0.9999,  0.9999,  0.9999,  0.9999,  0.9999,  0.9999,  0.9999,
        0.9999,  0.9999,  0.9999])


相關推薦

Pythonnumpy陣列dtype=float16初始

【Python坑系列】為了節約空間,使用numpy陣列時候採用了float16,結果發現精度遠遠不達標預設的floar64是最接近原本浮點數的a = 0.0001 * np.ones(10,np.flo

pythonnumpy陣列(array)擴充(複製)方法repeat和tile的使用

但是很多情況下不需要使用,在進行矩陣加減運算的時候會自動複製 >>> a array([[1, 2],        [3, 4],        [5, 6]]) &g

pythonnumpy庫ndarray多維陣列的的運算:np.abs(x)、np.sqrt(x)、np.modf(x)等

numpy庫提供非常便捷的陣列運算,方便資料的處理。 1、陣列與標量之間可直接進行運算 In [45]: a Out[45]: array([[ 0, 1, 2, 3], [

pythonnumpy陣列拼接np.concatenate官方文件詳解與例項

在實踐過程中,會經常遇到陣列拼接的問題,基於numpy庫concatenate是一個非常好用的陣列操作函式。 1、concatenate((a1, a2, …), axis=0)官方文件詳解 concatenate(...) concatenate(

學習Python資料分析隨手筆記numpy陣列的函式ix_()

今天我去圖書館借了一本Python DataAnalysis的書那今天來說一個關於numpy庫的內容。當然 課本給出的是著名的lena圖片。不過在pycharm上執行的時候發現它報錯了。隨即就去查看了scipy的檔案搜尋了半天。原來在新版本的scipy中已經將lena移除,不

Pythonselenium調IE11瀏覽器,報錯“找不到元素”NoSuchWindowException: Message:Unable to find element on closed window

conn ont csdn creates logs 註冊 target get 意思 當編寫自動化腳本,定位瀏覽器元素時,報如下錯誤: 代碼: >>> # coding=utf-8 >>> from selenium import w

pythonNumpy中stack(),hstack(),vstack()函數詳解

一起 int pan 控制 意思 name 體會 你們 如何 轉自 https://blog.csdn.net/csdn15698845876/article/details/73380803 這三個函數有些相似性,都是堆疊數組,裏面最難理解的應該就是stack()函數了,

pythonnumpy庫linspace相同間隔取樣 詳解

linspace可以用來實現相同間隔的取樣; numpy.linspace(start,stop,num=50,endpoint=True,retstep=False, dtype=None) 返回num均勻分佈的樣本,在[start, stop]。 Parameters(引數): start :

pythonnumpy.datetime64( ) 時間和 datetime.datetime 互轉

首先定義幾個時間變數datetime、Timestamp、numpy.datetime64: import datetime import numpy as np import pandas as p

Pythonnumpy.append中有

numpy 往array裡新增一個元素 首先這裡p_arr為一個numpy的array,p_為一個元素 p_arr = np.concatenate((p_arr,[p_])) # 先將p_變成list形式進行拼接,注意輸入為一個tuple p_arr = np.append(p_arr

pythonnumpy中的tile函式

tile函式         在看機器學習實戰這本書時,遇到numpy.tile(A,B)函式,愣是沒看懂怎麼回事,裝了numpy模組後,實驗了幾把,原來是這樣子: 重複A,B次,這裡的B可以時int型別也可以是遠組型別。 >>> import num

PythonWindows下Jieba分詞和WordCloud庫生成中文詞雲

一、開啟Anaconda Prompt,用activate命令啟用環境 二、從清華映象下載所需庫: jieba分詞庫 wordcloud繪製詞雲庫 numpy常用於處理陣列 PIL為影象處理標準庫 pip install jieba -i https://pypi

PythonNumpy array

1。計算矩陣的size和dimension 兩個函式: array.ndim 和 np.size(array, axis) import numpy as np # 定義一個二維張量 X=np.array([[1,2,3,4], [5,6,7,8],

Pythonnumpy 中的 copy 問題詳解

這篇文章本是我在 segmentfault 上的一個回答,但是越來越覺得有必要單獨拿出來,畢竟這個問題挺常見的。具體可參看 numpy 官方文件 。 正文 numpy關於copy有三種情況,完全不復制

PythonNumpy簡單入門

Numpy   Numpy是Python中科學計算的核心庫。Numpy提供了高效能的多維陣列物件,還有用於處理這些陣列的工具。 陣列   Numpy的主要資料型別是ndarray即多維陣列,可以用巢狀的Python列表中初始化numpy陣列,並使用方括號訪問元素。陣列具有以下幾個屬性:

Pythonnumpy中的sum函式的使用

sum() 沒有axis引數表示全部資料相加 axis=0,表示按列相加 axis=1,表示按行相加 a = array([[1,2,3],[4,5,6]]) print(a) b = sum(a) print (b) c = sum(a, axis=0) print(

Pythonnumpy快速入門

1、基本概念 numpy的主要內容是齊次多維陣列,是一張表,元素型別相同,通常是數字,索引為一個正整數構成的元組。在numpy中,陣列的維叫做axes,axes的個數叫做rank。例如,[1,2,1]是3D空間中的一個座標點,作為陣列,它是一維的,有一個axe

pythonnumpy基礎學習

numpy是Python中科學計算的核心庫。其主要資料型別是ndarray,即同種元素的多維陣列。 narray屬性 import numpy as np a=np.array([[1,2,3],[2,3,4],[4,5,6]]) #narr

Python陣列區域性最大值

求陣列區域性最大值 給定一個無重複元素的陣列A[0…N-1],求找到一個該陣列的區域性最大值。規定:在陣列邊界外的值無窮小。即:A[0]>A[-1],A[N-1] >A[N]。 顯然,遍歷一遍可以找到全域性最大值,而全域性最大值顯然是區域性最大值。

Pythonlist陣列賦值

list陣列對於python帶來了很大的方便,在陣列中存入資料時不用有那麼多的顧慮,但是對list陣列賦值時要特別的注意,若是賦值不當很容易會改變原陣列的值。 1,對一維陣列來說使用賦值符號會影響原陣列 如下程式碼: li_a=[2,3,4,6,8] li_c=li_a l