在神經網路中,經常會用到批量樣本訓練。我們需要從陣列隨機取資料,主要有以下幾種方法:
1、np.random.shuffle:將原陣列打亂
import numpy as np
array = np.random.randint(1,100,size=10)
#[63 32 80 33 61 45 28 55 39 80]
batch_size=5
print(array[0:batch_size])
#[63 32 80 33 61]
np.random.shuffle(rand_arr)
print(array[0:batch_size])
#[33 45 80 28 55]
#另一種寫法
# rand_arr = np.arange(array.shape[0])
# np.random.shuffle(rand_arr)
# print(array[rand_arr[0:batch_size]])
# np.random.shuffle(rand_arr)
# print(array[rand_arr[0:5]])
2、np.random.choice:生成亂序的序號,從資料中取出(不改變原始序列)
import numpy as np
array = np.random.randint(1,100,size=10)
#[63 32 80 33 61 45 28 55 39 80]
batch_size=5
slice=np.random.choice(array.shape[0],batch_size)
print(array[slice])
這種方法其實就是生成輸定數量的在某個範圍內的隨機數:
1、隨機取多個數,random.randint()的函式原型為:random.randint(a, b),用於生成乙個指定範圍內的整數。
import random
[random.randint(0,100) for _ in range(10)]
2、在固定列表中隨機去多個數,random.sample的函式原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。(這裡的適用物件是列表型別的資料)
a=[0,1,2,3,4,5,6,7,8,9]
random.sample(a, 5)
python之路 從列表中隨機取數
自學python,這是我發表的第一篇python部落格 列表為 a j g h k i l f v b 2 5 x import numpy as np word list a j g h k i l f v b 2 5 x len list range len word list 將列表生成字典,...
從列表中隨機取數
列表為 a j g h k i l f v b 2 5 x 版本1 import numpy as np word list a j g h k i l f v b 2 5 x len list range len word list 將列表生成字典,key為元列表的id序號,values為對應序號...
mysql 取隨機編號 mysql取隨機資料的方法
先看手冊中的sql select from table name order by rand limit 5 描述 rand rand n 返回在範圍0到1.0內的隨機浮點值。如果乙個整數引數n被指定,它被用作種子值。mysql select rand 0.5925 mysql select ran...