Tensorflow實現乙個簡單的二分類問題

2021-08-02 23:02:42 字數 1670 閱讀 6153

說好的每天一更··結果只堅持了一天···笑

從頭開始學習

#這裡通過numpy工具包來生成模擬資料集

from numpy.random import randomstate

#定義訓練資料batch的大小

batch_size = 8

#定義神經網路引數

w1 = tf.variable(tf.random_normal([2,3],stddev = 1,seed = 1))

w2 = tf.variable(tf.random_normal([3,1],stddev = 1,seed = 1))

#在訓練時需要把資料分成較小的batch

x = tf.placeholder(tf.float32,shape=(none,2),name = 'x-input')

y_ = tf.placeholder(tf.float32,shape=(none,1),name = 'y-input')

#定義神經網路前向傳播過程

a = tf.matmul(x,w1)

y = tf.matmul(a,w2)

#定義損失函式和反向傳播的演算法

cross_entropy = -tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0)))

train_step = tf.train.adamoptimizer(0.001).minimize(cross_entropy)

#通過隨機函式生成乙個模擬資料集

rdm = randomstate(1)

dataset_size = 128

x = rdm.rand(dataset_size,2)

y = [[int(x1+x2 < 1)] for (x1,x2) in x]

with tf.session() as sess:

init_op = tf.global_variables_initializer()

sess.run(init_op)

print (sess.run(w1))

print (sess.run(w2))

steps = 5000

for i in range(steps):

start = (i * batch_size) % dataset_size

end = min(start+batch_size,dataset_size)

#通過選取的樣本訓練神經網路並更新引數

sess.run(train_step,feed_dict=)

if i %1000 == 0:

total_cross_entropy = sess.run(cross_entropy,feed_dict=)

print('after %d trainning step(s),cross entrop on

all data is %g'

%(i,total_cross_entropy))

print (sess.run(w1))

print (sess.run(w2))

張量是tensorflow的資料模型,其中輸入和輸出都應該是張量···張量是什麼意思呢···好像不太清楚樣,但是沒關係····張量本身並沒有儲存任何資料,它只是對運算結果的引用。

有個tensorflow遊樂場可以幫助大家更好的理解神經網路

Tensorflow實現乙個簡單的卷積神經網路

今天對照tensorflow的書,實現了乙個簡單的卷積神經網路。基於mnist資料集。在神經網路還未出現之前,在處理影象的問題上都是使用的特徵工程 如sift 特徵工程是有侷限性的。cnn被用於影象處理,不需要將特徵提取和分類訓練兩個過程分開,它在訓練時就自動提取了最有效的特徵。卷積神經網路由多個卷...

TensorFlow實現乙個簡單線性回歸的例子

1 author wsx 2import tensorflow as tf 3import numpy as np 4import matplotlib.pyplot as plt 56 x data np.linspace 0.5,0.5,200 np.newaxis 0.5 0.5 之間產生20...

第乙個tensorflow程式

個人部落格 最近alphago和alphazero的出現,預示著2017年成為人工智慧元年,人工智慧逐漸進入我們的生活和工作的方方面面,如在工作中,阿里巴巴雙十一中,出現了 千人千面 智慧型推薦系統,魯班ai設計師,小蜜機械人,idc智慧型巡檢機械人,還有京東的無人倉庫等。這些都讓我覺得人工智慧越來...