使用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)))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560247.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

损失函数、python实现均方误差、交叉熵误差函数、mini-batch的损失函数

损失函数what is 损失函数均方误差交叉熵误差计算mini-batch学习的损失函数why 损失函数what is 损失函数 神经网络学习目标是找到各层合适的权重参数w和偏置b,使得最终的输出结果能够与实际结果更加接近。那神经网络的这些权重参数是如何得到的:靠损失…

梯度、梯度法、python实现神经网络的梯度计算

【机器学习】梯度、梯度法、python实现神经网络的梯度计算一、python实现求导的代码:二、what is 梯度三、使用梯度法寻找神经网络的最优参数四、神经网络的梯度计算一、python实现求导的代码: 导数含义也就是:变量x一个微小的变化将导致f(x…

使用反向传播算法计算参数的梯度并用python实现加法和乘法节点的反向传播

使用反向传播算法计算参数的梯度并用python实现加法和乘法节点的反向传播一、what is 反向传播二、乘法节点的反向传播三、加法节点的反向传播四、加法层和乘法层混合应用一、what is 反向传播 误差反向传播法是一种高效计算权重参数的梯度的方法。所谓的反向传播,…

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid、Affine、Softmax-with-Loss层

结合反向传播算法使用python实现神经网络的ReLU、Sigmoid激活函数层 这里写目录标题一、ReLU层的实现二、Sigmoid层的实现三、实现神经网络的Affine层四、Softmax-with-Loss层实现一、ReLU层的实现 正向传播时的输入大于0,则反向传播会将上游的值原封不动地传给下游…

神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现

神经网络的SGD、Momentum、AdaGrad、Adam最优化方法及其python实现一、SGD二、Momentum-动量三、AdaGrad四、Adam一、SGD 右边的值更新左边的值,每次更新朝着梯度方向前进一小步。 class SGD:"""随机梯度下降法(Stochastic Gradient Des…

关于神经网络权重初始值的设置的研究

关于神经网络权重初始值的设置的研究一、权重初始值二、权重初始值会影响隐藏层的激活值分布三、Xavier初始值四、He初始值五、基于MNIST数据集的权重初始值的比较一、权重初始值 权值衰减—抑制过拟合、提高泛化能力。 所谓权值衰减,即,以减小权重参数…

使用权值衰减算法解决神经网络过拟合问题、python实现

使用权值衰减算法解决神经网络过拟合问题、python实现一、what is 过拟合二、过拟合原因三、权值衰减四、实验验证4.1制造过拟合现象4.2使用权值衰减抑制过拟合一、what is 过拟合 过拟合指只能拟合训练数据,但不能很好拟合不包含在训练数据中的其他数据的状态。 …

解决神经网络过拟合问题—Dropout方法、python实现

解决神经网络过拟合问题—Dropout方法一、what is Dropout?如何实现?二、使用和不使用Dropout的训练结果对比一、what is Dropout?如何实现? 如果网络模型复杂,L2范数权值衰减方法就难以对付过拟合。这种情况下&#…

神经网络如何调参、超参数的最优化方法、python实现

神经网络如何调参、超参数的最优化方法、python实现一、what is 超参数二、超参数优化实验一、what is 超参数 超参数是什么,其实就是,各层神经元数量、batch大小、学习率等人为设定的一些数。 数据集分为训练数据、测试数据、验证数据。 用测试数据评…

卷积神经网络的整体结构、卷积层、池化、python实现

卷积神经网络的整体结构、卷积层、池化、python实现一、整体结构二、卷积层三、池化层四、python实现卷积层、池化层一、整体结构 神经网络相邻层所有神经元之间都有连接,称为全连接。前面用Affine层实现了全连接。 举个例子 全连接神经网络结构: 卷积…

基于随机梯度下降法的手写数字识别、epoch是什么、python实现

基于随机梯度下降法的手写数字识别、epoch是什么、python实现一、普通的随机梯度下降法的手写数字识别1.1 学习流程1.2 二层神经网络类1.3 使用MNIST数据集进行学习注:关于什么是epoch二、基于误差反向传播算法求梯度的手写数字识别2.1 学习流程2.2 实现与结果分析一…

基于卷积神经网络的手写数字识别、python实现

一、CNN网络结构与构建 参数: 输入数据的维数,通道,高,长 input_dim(1, 28, 28)卷积层的超参数,filter_num:滤波器数量,filter_size:滤波器大小,stride:步幅…

基于深度学习的手写数字识别、python实现

基于深度学习的手写数字识别、python实现一、what is 深度学习二、加深层可以减少网络的参数数量三、深度学习的手写数字识别一、what is 深度学习 深度学习是加深了层的深度神经网络。 二、加深层可以减少网络的参数数量 加深层的网络可以用更少参数获得与没有加深层同等水…

二极管的结构、特性、参数、稳压管的特性和参数

二极管的结构、特性、参数、稳压管的特性和参数本文介绍的定义一、半导体类型二、PN结的结构与单向导电性三、二极管的伏安特性四、二极管的参数五、稳压管本文介绍的定义 本文介绍的定义:半导体、本征半导体、空穴、载流子、杂质半导体、N型半导体、P型半导体、PN…

双极结型三极管的结构、特性曲线、参数、lceda仿真

双极结型三极管的结构、特性、参数本文介绍的定义一、三极管结构二、三极管特性曲线三、三极管参数本文介绍的定义 硅平面管、锗合金管、发射区、基区,集电区、发射极、基极、集电极、发射结、集电结、发射、发射极电流、复合和扩散、基极电流、收集、集电极电流、…

结型场效应管的结构、特性、参数

结型场效应管的结构、特性、参数本文介绍的定义一、N沟道结型场效应管结构二、N沟道结型场效应管特性曲线本文介绍的定义 场效应管、结型场效应管、N沟道结型场效应管的结构、耗尽层、栅极、源极、漏极、N沟道结型场效应管、夹断电压、预夹断、输出特性、可变电阻区、恒流区、…

绝缘栅型场效应管的结构、特性、参数

绝缘栅型场效应管的结构、特性、参数本文介绍的定义一、N沟道增强型MOS场效应管结构二、N沟道增强型MOS场效应管特性曲线三、N沟道耗尽型MOS场效应管结构和特性曲线本文介绍的定义 绝缘栅型场效应管、N沟道增强型MOS场效应管、耗尽型场效应管、增强型场效应管、反型层、开启电…

放大电路、单管共发射极放大电路结构、工作原理、lceda仿真

放大电路、单管共发射极放大电路结构、工作原理本文介绍的定义一、放大电路基本概念二、单管共发射极放大电路本文介绍的定义 放大、实现放大作用、放大电路技术指标测量、电压放大倍数、电流放大倍数、相量表示、最大输出幅度、峰峰值、非线性失真系数、输入电阻、输出电阻、…

放大电路分析方法、图解法分析放大电路、lceda仿真

放大电路分析方法、图解法分析放大电路一、本文介绍的定义二、放大电路分析方法三、图解法一、本文介绍的定义 放大电路分析、图解法、微变等效电路法、静态分析、动态分析、直流通路、交流通路、单管共射放大电路的直流和交流通路、静态工作点、图解法分析静态、直流负载线、…

通过共现矩阵和余弦相似度实现机器对单词的认知、python实现

通过共现矩阵和余弦相似度实现机器对单词的认知、python实现本文介绍的定义:一、语料库预处理二、单词的分布式表示三、单词的相似度四、相似单词排序本文介绍的定义: 语料库、计数方法的目的、语料库预处理、单词的分布式表示、分布式假设、上下文、窗…