精华内容
下载资源
问答
  • MNIST数据集分类

    2021-03-31 21:17:32
    import numpy as np from keras.datasets import mnist from keras.utils import np_utils from keras.models import Sequential ...(x_train【训练数据】,y_train【训练的标签】),(x_test,y_test) = mnist.l
    import numpy as np
    from keras.datasets import mnist
    from keras.utils import np_utils
    from keras.models import Sequential
    from keras.layers import Dense
    from keras.optimizers import SGD
    
    # 载入数据
    '''
    (x_train【训练集的数据】,y_train【训练集的标签】),(x_test,y_test) = mnist.load_data()
    '''
    (x_train,y_train),(x_test,y_test) = mnist.load_data()
    
    print('x_shape:',x_train.shape) # (60000,28,28)
    
    print('y_shape:',y_train.shape) # (60000)
    
    
    # (60000,28,28)->(60000,784)
    x_train = x_train.reshape(x_train.shape[0],-1)/255.0  # 行数是60000,列数-1是自动匹配 除以255是做归一化的处理
    x_test = x_test.reshape(x_test.shape[0],-1)/255.0
    # 换one hot格式
    y_train = np_utils.to_categorical(y_train,num_classes=10)
    y_test = np_utils.to_categorical(y_test,num_classes=10)
    
    # 创建模型,输入784个神经元,输出10个神经元
    '''
    model = Sequential([
        Dense(units=10,input_dim=784,bias_initializer='one'[设置偏置值],activation='softmax')
                       ])
    '''
    model = Sequential([
        Dense(units=10,input_dim=784,bias_initializer='one',activation='softmax')
                       ])
    
    # 定义优化器,loss function,训练过程中计算准确率
    sgd = SGD(lr=0.2)
    
    # 把优化器设置好,loss function 训练过程中计算准确率
    model.compile(
        optimizer = sgd,
        loss = 'mse',
        metrics = ['accuracy'],
    )
    
    # 训练模型
    '''
    model.fit(x_train,y_train,batch_size=32【每一个batch为32张图片】,epochs=10【总共训练10个周期】)
    '''
    
    model.fit(x_train,y_train,batch_size=32,epochs=10)
    
    # 评估模型
    loss,accuracy = model.evaluate(x_test,y_test)
    
    print('\ntest loss',loss)
    print('accuracy',accuracy)
    
    # 保存模型
    model.save('model.h5')
    

    在这里插入图片描述

    # 保存参数,载入参数
    model.save_weights('my_model_weights.h5')
    model.load_weights('my_model_weights.h5')
    # 保存网络结构,载入网络结构
    from keras.models import model_from_json
    json_string = model.to_json()
    model = model_from_json(json_string)
    

    在这里插入图片描述

    展开全文
  • SVM实现MNIST数据集分类

    热门讨论 2015-01-19 10:09:41
    本代码为matlab实现的支持向量机模式识别算法,对MNIST数据集进行三种样本分类,如果电脑内存够大,可以实现更多的类别分类,另外exclass是对随机的两个样本分类,也可以参考,exmuticlassall为对MNIST数据集分类,...
  • KNN 实现mnist 数据集分类
  • 使用CNN实现MNIST数据集分类

    千次阅读 2019-05-01 21:01:42
    关于MNIST数据集的说明及配置见使用TensorFlow实现MNIST数据集分类 CNN网络参数配置如下: 原始数据:输入为[28,28],输出为[1,10] 卷积核1:[5,5],32个特征 -->28*28*32 池化核1:[2,2],最大池化 -->14...

    1 MNIST数据集和CNN网络配置

    关于MNIST数据集的说明及配置见使用TensorFlow实现MNIST数据集分类

    CNN网络参数配置如下:

    • 原始数据:输入为[28,28],输出为[1,10]
    • 卷积核1:[5,5],32个特征    -->28*28*32
    • 池化核1:[2,2],最大池化    -->14*14*32
    • 卷积核2:[5,5],2个特征      -->14*14*64
    • 池化核2:[2,2],最大池化     -->7*7*64
    • 全连接1:[7*7*64,1024]
    • 全连接2:[1024,10]

    2 实验

    import tensorflow as tf
    from tensorflow.examples.tutorials.mnist import input_data
    
    #载入数据集
    mnist=input_data.read_data_sets("MNIST_data",one_hot=True)
    
    #每批次的大小
    batch_size = 100
    #总批次数
    batch_num = mnist.train.num_examples//batch_size
    
    #初始化权值函数
    def weight_variable(shape):
        initial=tf.truncated_normal(shape,stddev=0.1)
        return tf.Variable(initial)
    
    #初始化偏置值函数
    def bias_vairable(shape):
        initial=tf.constant(0.1,shape=shape)
        return tf.Variable(initial)
    
    #卷积层函数
    def conv2d(x,w):
        return tf.nn.conv2d(x,w,strides=[1,1,1,1],padding='SAME')
    
    #池化层函数
    def max_pool(x):
        return tf.nn.max_pool(x,ksize=[1,2,2,1],strides=[1,2,2,1],padding='SAME')
    
    #定义三个placeholder
    x = tf.placeholder(tf.float32,[None,784])
    y = tf.placeholder(tf.float32,[None,10])
    keep_prob = tf.placeholder(tf.float32)
    
    x_image = tf.reshape(x,[-1,28,28,1])
    
    #5*5的卷积核,1个平面->32个平面(每个平面抽取32个特征)
    w_conv1 = weight_variable([5,5,1,32])
    b_conv1 = bias_vairable([32]) 
    #第一次卷积之后变为 28*28*32
    h_conv1 = tf.nn.relu(conv2d(x_image, w_conv1) + b_conv1)
    #第一次池化之后变为 14*14*32
    h_pool1 = max_pool(h_conv1)
    
    #5*5的卷积核,32个平面->64个平面(每个平面抽取2个特征)
    w_conv2 = weight_variable([5,5,32,64])
    b_conv2 = bias_vairable([64])
    #第二次卷积之后变为 14*14*64
    h_conv2 = tf.nn.relu(conv2d(h_pool1,w_conv2) + b_conv2)
    #第二次池化之后变为 7*7*64
    h_pool2 = max_pool(h_conv2)
    #7*7*64的图像变成1维向量
    h_pool2_flat = tf.reshape(h_pool2,[-1,7*7*64])
    
    #第一个全连接层
    w_fc1 = weight_variable([7*7*64,1024])
    b_fc1 = bias_vairable([1024])
    h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, w_fc1) + b_fc1)
    h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)
    
    #第二个全连接层
    w_fc2 = weight_variable([1024,10])
    b_fc2 = bias_vairable([10])
    h_fc2 = tf.matmul(h_fc1_drop,w_fc2) + b_fc2
    #prediction = tf.nn.sigmoid(h_fc2)
    
    #交叉熵损失函数
    loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels=tf.argmax(y,1), logits=h_fc2))
    #loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=y, logits=h_fc2))
    train = tf.train.AdamOptimizer(0.001).minimize(loss)
    
    correct_prediction = (tf.equal(tf.argmax(h_fc2,1), tf.argmax(y,1)))
    accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))
    
    #初始化变量
    init=tf.global_variables_initializer()
    
    with tf.Session() as sess:
        sess.run(init)
        test_feed={x:mnist.test.images,y:mnist.test.labels,keep_prob:1.0}
        for epoch in range(6):
            for batch in range(batch_num):
                x_,y_=mnist.train.next_batch(batch_size)
                sess.run(train,feed_dict={x:x_,y:y_,keep_prob:0.7})
            acc=sess.run(accuracy,feed_dict=test_feed)
            print("epoch:",epoch,"accuracy:",acc)

    展开全文
  • 视频链接 MNIST数据集在代码中引入之后,如果网络状况好的话可自行下载 使用softmax回归模型:将多个神经元的输出,映射到(0,1) 区间,就是在比较概率,选择概率最大的输出...#MNIST数据集分类简单版本 import ...

    视频链接

     MNIST数据集在代码中引入之后,如果网络状况好的话可自行下载

    使用softmax回归模型:将多个神经元的输出,映射到(0,1)  区间,就是在比较概率,选择概率最大的输出,公式是Si=\frac{e^{i}}{\sum_{0}^{j}e^{j}}   

    例:输出[1,5,3]

    e^{1}=2.718,e^{5}=148.413,e^{3}=20.086 ,  e^{1}+e^{5}+e^{3}=171.217   

    p1=\frac{e^{1}}{e^{1}+e^{5}+e^{3}}=0.016   ,p2=\frac{e^{2}}{e^{1}+e^{5}+e^{3}}=0.867,p3=\frac{e^{3}}{e^{1}+e^{5}+e^{3}}=0.117,选择p2啦

                                     

    
    #MNIST数据集分类简单版本
    import tensorflow as tf
    from tensorflow.examples.tutorials.mnist import input_data
    #载入数据集
    mnist = input_data.read_data_sets("MNIST_data",one_hot=True)
    #每个批次的大小
    batch_size= 100
    #计算一共有多少个批次
    n_batch = mnist.train.num_examples//batch_size
    #定义两个placeholder 先申请空间然后再传数据
    x = tf.placeholder(tf.float32,[None,784])
    y = tf.placeholder(tf.float32,[None,10])
    
    #创建一个简单的神经网络
    W = tf.Variable(tf.zeros([784,10]))
    b = tf.Variable(tf.zeros([10]))
    prediction = tf.nn.softmax(tf.matmul(x,W)+b)
    #二次代价函数
    loss = tf.reduce_mean(tf.square(y-prediction))
    #使用梯度下降法优化
    train_step = tf.train.GradientDescentOptimizer(0.2).minimize(loss)
    #初始化变量
    init = tf.global_variables_initializer()
    
    #定义一下求准确率的方法,结果放在布尔型列表中,
    correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))#argmax返回一维张量中最大的值所在的位置
    #求准确率
    accuracy = tf.reduce_mean(tf.cast(correct_prediction,tf.float32))#把布尔类型的预测结果(1、0)转换成浮点型
    with tf.Session() as sess:
        sess.run(init)
        for epoch in range(21):
            for batch in range (n_batch):
                #batch_xs保存图片数据,batch_ys保存图片标签,batch_size=100
                batch_xs,batch_ys = mnist.train.next_batch(batch_size)
                #优化,传参
                sess.run(train_step, feed_dict={x:batch_xs,y:batch_ys})
                acc = sess.run(accuracy,feed_dict={x: mnist.test.images,y:mnist.test.labels})
                print("Iter"+str(epoch)+"Testing Accuracy:" + str(acc))
    

     

    展开全文
  • 使用一维卷积 conv1D 和二维卷积 Conv2D 两种方法实现 MNIST 数据集分类,准确率达到 97.91%、 98.74%
  • MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片。 import time import numpy as np import matplotlib.pyplot as plt...
  • 资源实现了多种适合MNIST数据集的CNN网络,包含自己设计的DenseCNN,著名的LeNet5、AlexNet、ZFNet和VGGNet16。实验结果的可视化包含损失和准确度随迭代次数的变化。模型可下载后直接运行。
  • MNIST数据集分类任务 TensorFlow 2.0测试版包 代码 from __future__ import absolute_import, division, print_function, unicode_literals # 安装 TensorFlow import tensorflow as tf # 对mnist数据进行...

     MNIST数据集分类任务 

    TensorFlow 2.0测试版包

    代码

    
    from __future__ import absolute_import, division, print_function, unicode_literals
    
    # 安装 TensorFlow
    
    import tensorflow as tf
    
    # 对mnist数据进行分类任务
    if __name__ == '__main__':
        # 1.加载数据
        mnist = tf.keras.datasets.mnist
        # 2.拆分数据
        (x_train, y_train), (x_test, y_test) = mnist.load_data()
        # 3.数据格式化/归一化
        x_train, x_test = x_train / 255.0, x_test / 255.0
        # 4.创建模型 模型叠加
        model = tf.keras.models.Sequential([
            tf.keras.layers.Flatten(input_shape=(28, 28)),
            tf.keras.layers.Dense(128, activation='relu'),
            tf.keras.layers.Dropout(0.2),
            tf.keras.layers.Dense(10, activation='softmax')
        ])
    
        # 5.选择优化器和损失函数
        model.compile(optimizer='adam',
                      loss='sparse_categorical_crossentropy',
                      metrics=['accuracy'])
        # 6.训练模型
        model.fit(x_train, y_train, epochs=5)
        # 7.模型评估
        model.evaluate(x_test, y_test, verbose=2)
    

    实现结果:

    loss: 0.0380 - accuracy: 0.9778

    展开全文
  • 原本是用VS编辑的,但是一直无法下载MNIST—data数据集,最后用了pycharm,以下是手打的,可以直接运行。可以通过改变学习率来改变训练的准确...# mnist 数据集分类的处理 mnist = input_data.read_data_sets("MNIST...
  • tensorflow搭建简单神经网络进行MNIST数据集分类 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist = input_data.read_data_sets('MNIST_data', one_hot=...
  • 时尚MNIST数据集分类 1.使用streamlit GUI进行时尚数据集分类,该机器学习强大的库以获取关于streamlit.io的更多信息 单击链接以打开项目 2.读取所需的库文件 3.cnn_model用于抽搐神经网络 4. seq_model用于顺序...
  • python kNN算法实现MNIST数据集分类 k值1-120
  • 使用TensorFlow实现MNIST数据集分类

    千次阅读 2019-03-18 19:31:52
    1 MNIST数据集 MINST数据集是由Yann LeCun教授提供的手写数字数据库文件,其官方下载地址http://yann.lecun.com/exdb/mnist/ 下载好MNIST数据集后,将其放在Spyder工作目录下(若使用Jupyter编程,则放在...
  • 代码使用matlab编写,压缩包中包含MNIST数据集及其读取函数、KNN算法实现和ReadMe.txt。 KNN算法中使用了PCA降维处理数据减少运行时间,正确率可达95%,有部分注释。请结合ReadMe文件使用。
  • softmax回归实现mnist数据集分类python代码:# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltimport struct #image是一个n*m的数组,n是样本数(行数),m是特征数(列数)。...
  • 代码使用matlab编写,压缩包中包含MNIST数据集及其读取函数、SVM算法实现和ReadMe.txt。 SVM算法中使用了PCA降维处理数据减少运行时间,但是由于使用的SMO算法较为原始,运行速度仍然较慢。由于实现未经过任何优化,...
  • KNN算法实现MNIST数据集分类

    千次阅读 2020-05-08 21:26:08
    这里写目录标题一、MNIST数据集二、KNN算法三、KNN实现MNIST数据分类四、运行结果五、具体代码 一、MNIST数据集 MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个...
  • pytorch进行fashion mnist数据集分类

    万次阅读 2019-05-19 22:16:53
    标题1.数据集介绍 (1)MNIST MNIST是深度学习最基本的数据集之一,...由于MNIST数据集太简单,简单的网络就可以达到99.7%的top one准确率,也就是说在这个数据集上表现较好的网络,在别的任务上表现不一定好。因此...
  • [toc] MNIST数据集分类(简单版本)import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#载入数据集mnist=input_data.read_data_sets("MNIST_data",one_hot=Tru...
  • 基于tensorflow2的CNN实现mnist数据集分类 前言:看以前的博客很多都是基于tensorflow1.x版本的教程,当我用2.2版本的时候发现各种报错,而且tensorflow2里面的keras直接调库很方便,所以做个笔记记录。本人是深度...
  • 一、由于MNIST下载费事,此处提供下载,MNIST数据集下载: MNIST数据集  二、基于tensorflow的神经网络实现:  使用神经网络实现MNIST数据分类,此处给出一个简单的例子,仅定义输入层和输出层 import ...
  • LSTM对mnist数据集分类

    千次阅读 2018-08-21 16:35:39
    把28*28的mnist数据集看成28个28输入的序列 # coding: utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data #载入数据集 mnist = input_data.read_data_sets("./...
  • 二隐层的神经网络实现MNIST数据集分类 传统的人工神经网络包含三部分,输入层、隐藏层和输出层。对于一个神经网络模型的确定需要考虑以下几个方面: 隐藏层的层数以及各层的神经元数量 各层激活函数的选择 输入...
  • (1)逻辑回归原理 关于逻辑回归原理课可参考这一部分 ... (2)使用pytorch框架实现对MNIST数据集分类 """ Created on Sun Apr 28 11:41:28 2019 @author: hp """ import torch import...
  • 使用KNN方法进行MNIST数据集分类

    千次阅读 2019-06-11 17:03:21
    一、MNIST数据集 MNIST是深度学习的经典入门demo,他是由6万张训练图片和1万张测试图片构成的,每张图片都是28*28大小(如下图),而且都是黑白色构成(这里的黑色是一个0-1的浮点数,黑色越深表示数值越靠近1),...
  • import tensorflow as tf from tensorflow.examples.tutorials....#载入数据集 mnist = input_data.read_data_sets("MNIST_data",one_hot=True) #每个批次的大小 batch_size = 100 #计算一共有多少个批次 n_batch ...
  • [Keras深度学习浅尝]实战一·DNN实现Fashion MNIST 数据集分类 此实战来源于TensorFlow Keras官方教程 导入相关包 # TensorFlow and tf.keras import os os.environ["KMP_DUPLICATE_LIB_OK"]=&...
  • [Keras深度学习浅尝]实战二·RNN实现Fashion MNIST 数据集分类 与我们上篇博文[Keras深度学习浅尝]实战一结构相同,修改的地方有,定义网络与模型训练两部分,可以对比着来看。通过使用RNN结构,预测准确率略有提升...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,957
精华内容 9,182
关键字:

mnist数据集分类