发新帖

计算一个简单的手写数字识别的速度这么慢??

[复制链接]
530 5

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x

import  tensorflow as tf
from tensorflow.examples.tutorials.mnist import  input_data
import  numpy as np


#载入数据集
mnist =input_data.read_data_sets("MNIST_data",one_hot=True)


#每一批次的大小 设置为100
batch_size =100
#计算一共多少个批次
n_batch=mnist.train.num_examples

#定义两个占位符
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))
loss=tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y,logits=prediction))
#使用梯度下降法
train_step =tf.train.GradientDescentOptimizer(0.2).minimize(loss)

#初始化变量

init =tf.global_variables_initializer()
#C:\Users\ADMINI~1\AppData\Local\Temp\CUDA  cuda tookilt安装路径
#求准确率的方法
#返回值为true tf.argmax(prediction,1)这个函数返回值为最大数在第几个位置
correct_prediction=tf.equal(tf.argmax(y,1),tf.argmax(prediction,1))

#求准确率
accuracy=tf.reduce_mean(tf.cast(correct_prediction,tf.float32))


with tf.Session() as sess:
    sess.run(init)
    for epoch in range(21):
        for batch in range(n_batch):
            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)+" Test accuracy "+str(acc))




D:\Anaconda3\envs\tensorflow\python.exe D:/PycharmProjects/tensorflow/tensorflow_p3手写数据集.py
Extracting MNIST_data\train-images-idx3-ubyte.gz
Extracting MNIST_data\train-labels-idx1-ubyte.gz
Extracting MNIST_data\t10k-images-idx3-ubyte.gz
Extracting MNIST_data\t10k-labels-idx1-ubyte.gz
2018-04-15 19:32:15.927831: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\platform\cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2
2018-04-15 19:32:17.868284: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1030] Found device 0 with properties:
name: GeForce 840M major: 5 minor: 0 memoryClockRate(GHz): 1.124
pciBusID: 0000:04:00.0
totalMemory: 2.00GiB freeMemory: 1.66GiB
2018-04-15 19:32:17.868773: I C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\common_runtime\gpu\gpu_device.cc:1120] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce 840M, pci bus id: 0000:04:00.0, compute capability: 5.0)
iter 0 Test accuracy 0.9291
iter 1 Test accuracy 0.9298

就是计算速度很慢 20个批次计算一次都非常的慢我用的是应该是gpu了吧2分多种才出一次结果 显卡是nvidia gerfore 840m 这个问题大吗??
本楼点评(0) 收起

精彩评论5

907510757  TF荚荚  发表于 2018-4-15 19:50:40 | 显示全部楼层
就是计算速度很慢, 20个批次计算一次都非常的慢,我用的是应该是gpu了吧,2分多种才出一次结果, 显卡是nvidia gerfore 840m ,这个问题大吗??
本楼点评(0) 收起
pmixer  TF荚荚  发表于 2018-4-15 20:56:14 | 显示全部楼层
。。。。你这是训练,mnist 图片小不代表数据量非常小,无论对哪方面的实验来讲,2min都是很快了
本楼点评(0) 收起
907510757  TF荚荚  发表于 2018-4-15 21:00:48 | 显示全部楼层
pmixer 发表于 2018-4-15 20:56
。。。。你这是训练,mnist 图片小不代表数据量非常小,无论对哪方面的实验来讲,2min都是很快了 ...

但是我是看网上的教程的弄的 别人就速度很快 基本5秒出一个结果
本楼点评(0) 收起
舟3332  TF芽芽  发表于 2018-4-15 21:03:34 | 显示全部楼层
可以去试试 kaggle kernel 或者 colab  用高级别的显卡试试。
本楼点评(0) 收起
907510757  TF荚荚  发表于 2018-4-15 21:07:26 | 显示全部楼层
舟3332 发表于 2018-4-15 21:03
可以去试试 kaggle kernel 或者 colab  用高级别的显卡试试。

哈哈 谢谢了
本楼点评(2) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表