1. 程式人生 > >吳裕雄 python深度學習與實踐(10)

吳裕雄 python深度學習與實踐(10)

nbsp inpu mage all 網絡 mat mean info top

import tensorflow as tf

input1 = tf.constant(1)
print(input1)
 
input2 = tf.Variable(2,tf.int32)
print(input2)

input2 = input1
sess = tf.Session()
print(sess.run(input2))

技術分享圖片

import tensorflow as tf

input1 = tf.placeholder(tf.int32)
input2 = tf.placeholder(tf.int32)

output = tf.add(input1, input2)

sess 
= tf.Session() print(sess.run(output, feed_dict={input1:[1], input2:[2]}))

技術分享圖片

import numpy as np
import tensorflow as tf

"""
這裏是一個非常好的大數據驗證結果,隨著數據量的上升,集合的結果也越來越接近真實值,
這也是反饋神經網絡的一個比較好的應用
這裏不是很需要各種激勵函數
而對於dropout,這裏可以看到加上dropout,loss的值更快。
隨著數據量的上升,結果就更加接近於真實值。
"""

inputX = np.random.rand(3000,1)
noise 
= np.random.normal(0, 0.05, inputX.shape) outputY = inputX * 4 + 1 + noise #這裏是第一層 weight1 = tf.Variable(np.random.rand(inputX.shape[1],4)) bias1 = tf.Variable(np.random.rand(inputX.shape[1],4)) x1 = tf.placeholder(tf.float64, [None, 1]) y1_ = tf.matmul(x1, weight1) + bias1 y = tf.placeholder(tf.float64, [None, 1]) loss
= tf.reduce_mean(tf.reduce_sum(tf.square((y1_ - y)), reduction_indices=[1])) train = tf.train.GradientDescentOptimizer(0.25).minimize(loss) # 選擇梯度下降法 init = tf.initialize_all_variables() sess = tf.Session() sess.run(init) for i in range(1000): sess.run(train, feed_dict={x1: inputX, y: outputY}) print(weight1.eval(sess)) print("---------------------") print(bias1.eval(sess)) print("------------------結果是------------------") x_data = np.matrix([[1.],[2.],[3.]]) print(sess.run(y1_,feed_dict={x1: x_data}))

技術分享圖片

import numpy as np

aa = np.random.rand(5,4)
print(aa)
print(np.shape(aa))

技術分享圖片

import tensorflow as tf
import numpy as np

"""
這裏是一個非常好的大數據驗證結果,隨著數據量的上升,集合的結果也越來越接近真實值,
這也是反饋神經網絡的一個比較好的應用
這裏不是很需要各種激勵函數
而對於dropout,這裏可以看到加上dropout,loss的值更快。
隨著數據量的上升,結果就更加接近於真實值。
"""

inputX = np.random.rand(3000,1)
noise = np.random.normal(0, 0.05, inputX.shape)
outputY = inputX * 4 + 1 + noise

#這裏是第一層
weight1 = tf.Variable(np.random.rand(inputX.shape[1],4))
bias1 = tf.Variable(np.random.rand(inputX.shape[1],4))
x1 = tf.placeholder(tf.float64, [None, 1])
y1_ = tf.matmul(x1, weight1) + bias1
#這裏是第二層
weight2 = tf.Variable(np.random.rand(4,1))
bias2 = tf.Variable(np.random.rand(inputX.shape[1],1))
y2_ = tf.matmul(y1_, weight2) + bias2

y = tf.placeholder(tf.float64, [None, 1])

loss = tf.reduce_mean(tf.reduce_sum(tf.square((y2_ - y)), reduction_indices=[1]))
train = tf.train.GradientDescentOptimizer(0.25).minimize(loss)  # 選擇梯度下降法

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)

for i in range(1000):
    sess.run(train, feed_dict={x1: inputX, y: outputY})

print(weight1.eval(sess))
print("---------------------")
print(weight2.eval(sess))
print("---------------------")
print(bias1.eval(sess))
print("---------------------")
print(bias2.eval(sess))
print("------------------結果是------------------")

x_data = np.matrix([[1.],[2.],[3.]])
print(sess.run(y2_,feed_dict={x1: x_data}))

技術分享圖片

吳裕雄 python深度學習與實踐(10)