tensorflow 之手寫體識別

2021-08-21 20:24:15 字數 2058 閱讀 6143

原因:由於tensorflow相對於caffe更加靈活,準備轉戰tensorflow,昨天看了下大概的基本函式,今天打算先跑跑簡單的例子

tensorflow的安裝太簡單了,一行**搞定,網上很多教程,不一一列出。

想安裝固定tensorflow版本:

pip install tensorflow-gpu==1.3.0 (gpu版本) 注意,不同的cuda和cudnn,對應的tensorflow版本也不同。

pip install tensorflow==1.3.0(cpu版本)

在集群上

我用anaconda自帶的python3.6可以匯入根目錄中的python庫

而我用conda install python=2.7.9 則不能匯入根目錄的了,

這是手寫體識別的例子,用來乙個softmax函式:

from __future__ import absolute_import

from __future__ import division

from __future__ import print_function

import tensorflow as tf

# pylint: disable=unused-import

import gzip

import os

import tempfile

import numpy

from six.moves import urllib

from six.moves import xrange # pylint: disable=redefined-builtin

import tensorflow as tf

from tensorflow.contrib.learn.python.learn.datasets.mnist import read_data_sets

# pylint: enable=unused-import

mnist = read_data_sets("input_data/", one_hot=true)

x = tf.placeholder("float",[none,784])

w = tf.variable(tf.zeros([784,10]))

b = tf.variable(tf.zeros([10]))

y = tf.nn.softmax(tf.matmul(x,w)+b)

y_ = tf.placeholder("float",[none,10])

cross_entropy = -tf.reduce_sum(y_*tf.log(y))

train_step = tf.train.gradientdescentoptimizer(0.01).minimize(cross_entropy)

init = tf.global_variables_initializer()

sess = tf.session()

sess.run(init)

for i in range(1000):

batch_xs, batch_ys = mnist.train.next_batch(100)

sess.run(train_step, feed_dict=)

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))

accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))

print (sess.run(accuracy, feed_dict=))

這是幾行比較簡單的**:

在這個過程中遇到這樣乙個錯誤:[errno socket error] [errno 101] network is unreachable

這是由於** minist = read_data_sets("mnist_data",one_hot = true)

因為新版本的**已經將目錄轉到input_data裡面去了,稍作修改即可

Tensorflow MINIST手寫體識別

1 設計演算法來訓練模型 對於處理這種多分類任務,通常用softmax regression。工作原理就是對每一種類別估計乙個概率,然後取概率最大的類別作為模型的輸出結果。2 定義乙個loss function來描述模型對問題的分類精度 對多分類問題通常用cross entropy作為loss fu...

kaggle之手寫體識別

kaggle位址 首先載入資料集 import pandas as pd import numpy as np train pd.read csv users frank documents workspace kaggle dataset digit recognizer train.csv te...

Matlab深度學習實踐之手寫體識別(含詳細注釋)

matlab這幾年在人工智慧這塊兒也越做越好了,最近為了熟悉matlab如何搭建神經網路,自己做了乙個手寫體識別實驗,記錄一下。實驗任務非常簡單,網路搭的也非常隨意,不合理的地方也懶得改,旨在走通matlab搭建神經網路的流程。首先,資料集為mnist資料集 我已經把資料按類別分好,分為train和...