2016-07-28 19 views
12

मैं हाल ही में एक उदारसिटी दीप लर्निंग कोर्स कर रहा हूं जो लगभग TensorFlow पर आधारित है।टेन्सफोर्लो रिल्लू गलतफहमी

 

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

mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) 

x = tf.placeholder(tf.float32, [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(tf.float32, [None, 10]) 
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1])) 

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) 

init = tf.initialize_all_variables() 

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={x: batch_xs, y_: batch_ys}) 

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) 
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) 
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels})) 
 

मेरे Turn the logistic regression example with SGD into a 1-hidden layer neural network with rectified linear units nn.relu() and 1024 hidden nodes

मैं इस बारे में एक मानसिक ब्लॉक कर रहा हूँ करने के लिए अगले काम यह: मैं एक साधारण MNIST प्रोग्राम है जो 92 के बारे में% सटीक नहीं होता है। वर्तमान में मेरे वजन का 784 x 10 मैट्रिक्स है, और 10 तत्व लंबे पूर्वाग्रह वेक्टर हैं। मुझे समझ में नहीं आता कि मैं परिणामस्वरूप 10 तत्व वेक्टर को WX + Bias से 1024 Relu से कैसे कनेक्ट करता हूं।

यदि कोई मुझे यह समझा सकता है तो मैं बहुत आभारी हूं।

उत्तर

18

अभी तो आप इस

की तरह कुछ है और आप इस

की तरह कुछ की जरूरत है (इस चित्र Relu परत जो + बी 1 के बाद चला जाता है याद आ रही है)

+0

आपके स्पष्ट उत्तर के लिए बहुत बहुत धन्यवाद, मुझे लगता है कि अब मुझे समझने की ज़रूरत है कि मुझे क्या करना है। एक्स 784 तत्व वेक्टर है, और प्रक्रिया WX + B के परिणामस्वरूप 1024 तत्व वेक्टर हो सकता है। मुझे यकीन नहीं है कि गणितीय रूप से अतिरिक्त 240 तत्व आते हैं, क्या वे अनावश्यक नहीं हैं? मुझे लगता है कि अगर मैं छिपा नोड्स की संख्या <= 784 – James

+1

असल में उच्च आयामी रिक्त स्थान पर निम्न-आयामी इनपुट को मानचित्र करना आम है तो मैं इसे और अधिक सहजता से समझूंगा। मान लीजिए कि आपको एक नेटवर्क बनाना था जो मॉडल फर्श (x)% 2 == 0 था। आपका इनपुट एक आयामी है, लेकिन आपको इसे पहले उच्च आयामी स्थान में मैप करना होगा। टेंसरफ्लो खेल का मैदान 2 इनपुट न्यूरॉन्स और 4 छिपे न्यूरॉन्स के लिए डिफ़ॉल्ट है - http://playground.tensorflow.org/ –

+0

धन्यवाद, मुझे लगता है कि यह वास्तव में बहुत समझ में आता है कि मुझे पाठ्यक्रम में थोड़ा और आगे मिला है। आप उन अनावश्यक नोड्स चाहते हैं ताकि ड्रॉपआउट इत्यादि का उपयोग करके अनावश्यक कनेक्शन बनाया जा सके। – James

संबंधित मुद्दे