日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

使用python对数据集进行批处理

發布時間:2025/3/12 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用python对数据集进行批处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【機器學習】使用python對數據集進行批處理

只輸入一張圖像數據過程和一次性處理100張圖像數據過程中,數組形狀變換如下圖所示:

這些數組形狀可以在代碼中輸出出來:

def get_data():(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, flatten=True, one_hot_label=False)return x_test, t_testdef init_network():with open("sample_weight.pkl", 'rb') as f:network = pickle.load(f)return networkx, t = get_data() network = init_network() print(x.shape) print(x[0].shape) W1, W2, W3 = network['W1'], network['W2'], network['W3'] print(W1.shape) print(W2.shape) print(W3.shape)

輸出結果:

(10000, 784) (784,) (784, 50) (50, 100) (100, 10)

基于批處理的代碼實現:

batch_size=100

for i in range(0, len(x), batch_size):這句話的意義,使i從0開始每次增加100 。

x_batch = x[i:i+batch_size]可以取出第i個到第i+100個之間的數據。

這樣數據就變成了x[0:100]、x[100:200]、…這樣的批數據。

p = np.argmax(y_batch, axis=1),這句話獲取y_batch取最大值時的y_batch數組的下標。 axis=1表示從行方向找最大值。也就是說,輸入一個圖片,輸出一個y,找0-9下標里面y最大的那個下標,就是神經網絡根據這個圖片猜出來的數字。

import sys, os sys.path.append(os.pardir) # 為了導入父目錄的文件而進行的設定 import numpy as np import pickle from dataset.mnist import load_mnist from common.functions import sigmoid, softmaxdef get_data():(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, flatten=True, one_hot_label=False)return x_test, t_testdef init_network():with open("sample_weight.pkl", 'rb') as f:network = pickle.load(f)return networkdef predict(network, x):w1, w2, w3 = network['W1'], network['W2'], network['W3']b1, b2, b3 = network['b1'], network['b2'], network['b3']a1 = np.dot(x, w1) + b1z1 = sigmoid(a1)a2 = np.dot(z1, w2) + b2z2 = sigmoid(a2)a3 = np.dot(z2, w3) + b3y = softmax(a3)return yx, t = get_data() network = init_network() print(x.shape) print(x[0].shape) W1, W2, W3 = network['W1'], network['W2'], network['W3'] print(W1.shape) print(W2.shape) print(W3.shape)batch_size = 100 # 批數量 accuracy_cnt = 0for i in range(0, len(x), batch_size):x_batch = x[i:i+batch_size]y_batch = predict(network, x_batch)p = np.argmax(y_batch, axis=1)accuracy_cnt += np.sum(p == t[i:i+batch_size])print("Accuracy:" + str(float(accuracy_cnt) / len(x)))

總結

以上是生活随笔為你收集整理的使用python对数据集进行批处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。