Tensorflow分類車子模型

#-*- coding:utf-8 -*-

importnumpyasnp

importtensorflowastf

importmatplotlib.pyplotasplt

importtrain_Car_Data

importtime

data = train_Car_Data.load_Data(download=False)

new_Data = train_Car_Data.covert2onehot(data)

#準備好所有數(shù)據(jù) 訓練集和測試集

new_Data = new_Data.values.astype(np.float32)#將oneshot轉(zhuǎn)化為32位

np.random.shuffle(new_Data)#隨機化數(shù)據(jù)

sep =int(0.7*len(new_Data))#提取出前70%的數(shù)據(jù)的下標

train_data = new_Data[:sep]

test_Data = new_Data[sep:]

#建立網(wǎng)絡

tf_input = tf.placeholder(tf.float32,[None,25],"input")#第一個是行 第二個是列(有25列)

tfx = tf_input[:,:21]#打豎的行不要求,對打橫的選21列

tfy = tf_input[:,21:]

l1 = tf.layers.dense(tfx,128,tf.nn.relu,name="l1")#第一個參數(shù)是數(shù)據(jù) 第二個是unit第三個是激勵函數(shù) 第四個是名字 這是在設置隱藏層

l2 = tf.layers.dense(l1,128,tf.nn.relu,name="l2")#再設置一個隱藏層

out = tf.layers.dense(l2,4,name="l3")#輸出層

prediction = tf.nn.softmax(out,name="pred")#先用激勵函數(shù)softmax得到預期值 留到后面對比

loss = tf.losses.softmax_cross_entropy(onehot_labels=tfy,logits=out)#給標簽 也就是y值 和x值來得到損失值

accuracy = tf.metrics.accuracy(# return (acc, update_op), and create 2 local var得到準確度

labels=tf.argmax(tfy,axis=1),predictions=tf.argmax(out,axis=1),

)[1]

opt = tf.train.GradientDescentOptimizer(learning_rate=0.1)#梯度下降

train_op = opt.minimize(loss)#最小化損失 讓損失最小

sess = tf.Session()

sess.run(tf.group(tf.global_variables_initializer(),tf.local_variables_initializer()))

# plt.ion()

# fig , (ax1,ax2) = plt.subplots(1,2,figsize=(8,4))

# accuracies,steps = [], []

fortinrange(4000):

batch_index = np.random.randint(len(train_data),size=32)

sess.run(train_op,{tf_input:train_data[batch_index]})

ift %50==0:

acc_,pre_,loss_ = sess.run([accuracy,prediction,loss],{tf_input:test_Data})

# accuracies.append(acc_)

# steps.append(t)

print("Set: %i "% t,"| Accurate: %.2f"% acc_,"| Loss: %.2f"% loss_)

writer = tf.summary.FileWriter('./my_graph',sess.graph)

#? ? ? ? ax1.cla()

#

#? ? ? ? for c in range(4):

#? ? ? ? ? ? bp = ax1.bar(x=c+0.1,height=sum((np.argmax(pre_,axis=1) == c)),width=0.2,color='red')

#? ? ? ? ? ? bt = ax1.bar(x=c-0.1,height=sum((np.argmax(test_Data[:,21:],axis=1) == c)),width= 0.2,color='blue')

#? ? ? ? ax1.set_xticks(range(4),["accepted", "good", "unaccepted", "very good"])

#? ? ? ? ax1.legend(handles=[bp, bt], labels=["prediction", "target"])

#? ? ? ? ax1.set_ylim((0,400))

#? ? ? ? ax2.cla()

#? ? ? ? ax2.plot(steps,accuracies,label="accuracy")

#? ? ? ? ax2.set_ylim(ymax=1)

#? ? ? ? ax2.set_ylabel("accuracy")

#

#

# plt.ioff()

# plt.show()



輸出


Set: 0 | Accurate: 0.69 | Loss: 1.22

Set: 50? | Accurate: 0.74 | Loss: 0.53

Set: 100? | Accurate: 0.78 | Loss: 0.39

Set: 150? | Accurate: 0.80 | Loss: 0.29

Set: 200? | Accurate: 0.82 | Loss: 0.25

Set: 250? | Accurate: 0.84 | Loss: 0.21

Set: 300? | Accurate: 0.85 | Loss: 0.17

Set: 350? | Accurate: 0.86 | Loss: 0.17

Set: 400? | Accurate: 0.87 | Loss: 0.14

Set: 450? | Accurate: 0.88 | Loss: 0.13

Set: 500? | Accurate: 0.89 | Loss: 0.11

Set: 550? | Accurate: 0.90 | Loss: 0.10

Set: 600? | Accurate: 0.90 | Loss: 0.10

Set: 650? | Accurate: 0.91 | Loss: 0.09

Set: 700? | Accurate: 0.91 | Loss: 0.08

Set: 750? | Accurate: 0.91 | Loss: 0.07

Set: 800? | Accurate: 0.92 | Loss: 0.06

Set: 850? | Accurate: 0.92 | Loss: 0.06

Set: 900? | Accurate: 0.93 | Loss: 0.06

Set: 950? | Accurate: 0.93 | Loss: 0.05

Set: 1000? | Accurate: 0.93 | Loss: 0.05

Set: 1050? | Accurate: 0.93 | Loss: 0.05

Set: 1100? | Accurate: 0.94 | Loss: 0.06

Set: 1150? | Accurate: 0.94 | Loss: 0.04

Set: 1200? | Accurate: 0.94 | Loss: 0.04

Set: 1250? | Accurate: 0.94 | Loss: 0.04

Set: 1300? | Accurate: 0.94 | Loss: 0.03

Set: 1350? | Accurate: 0.95 | Loss: 0.03

Set: 1400? | Accurate: 0.95 | Loss: 0.03

Set: 1450? | Accurate: 0.95 | Loss: 0.03

Set: 1500? | Accurate: 0.95 | Loss: 0.03

Set: 1550? | Accurate: 0.95 | Loss: 0.03

Set: 1600? | Accurate: 0.95 | Loss: 0.03

Set: 1650? | Accurate: 0.95 | Loss: 0.03

Set: 1700? | Accurate: 0.96 | Loss: 0.02

Set: 1750? | Accurate: 0.96 | Loss: 0.03

Set: 1800? | Accurate: 0.96 | Loss: 0.02

Set: 1850? | Accurate: 0.96 | Loss: 0.02

Set: 1900? | Accurate: 0.96 | Loss: 0.02

Set: 1950? | Accurate: 0.96 | Loss: 0.02

Set: 2000? | Accurate: 0.96 | Loss: 0.02

Set: 2050? | Accurate: 0.96 | Loss: 0.02

Set: 2100? | Accurate: 0.96 | Loss: 0.02

Set: 2150? | Accurate: 0.96 | Loss: 0.02

Set: 2200? | Accurate: 0.97 | Loss: 0.02

Set: 2250? | Accurate: 0.97 | Loss: 0.02

Set: 2300? | Accurate: 0.97 | Loss: 0.02

Set: 2350? | Accurate: 0.97 | Loss: 0.02

Set: 2400? | Accurate: 0.97 | Loss: 0.02

Set: 2450? | Accurate: 0.97 | Loss: 0.02

Set: 2500? | Accurate: 0.97 | Loss: 0.02

Set: 2550? | Accurate: 0.97 | Loss: 0.02

Set: 2600? | Accurate: 0.97 | Loss: 0.01

Set: 2650? | Accurate: 0.97 | Loss: 0.01

Set: 2700? | Accurate: 0.97 | Loss: 0.01

Set: 2750? | Accurate: 0.97 | Loss: 0.01

Set: 2800? | Accurate: 0.97 | Loss: 0.01

Set: 2850? | Accurate: 0.97 | Loss: 0.01

Set: 2900? | Accurate: 0.97 | Loss: 0.01

Set: 2950? | Accurate: 0.97 | Loss: 0.01

Set: 3000? | Accurate: 0.97 | Loss: 0.01

Set: 3050? | Accurate: 0.97 | Loss: 0.01

Set: 3100? | Accurate: 0.97 | Loss: 0.01

Set: 3150? | Accurate: 0.97 | Loss: 0.01

Set: 3200? | Accurate: 0.98 | Loss: 0.01

Set: 3250? | Accurate: 0.98 | Loss: 0.01

Set: 3300? | Accurate: 0.98 | Loss: 0.01

Set: 3350? | Accurate: 0.98 | Loss: 0.01

Set: 3400? | Accurate: 0.98 | Loss: 0.01

Set: 3450? | Accurate: 0.98 | Loss: 0.01

Set: 3500? | Accurate: 0.98 | Loss: 0.01

Set: 3550? | Accurate: 0.98 | Loss: 0.01

Set: 3600? | Accurate: 0.98 | Loss: 0.01

Set: 3650? | Accurate: 0.98 | Loss: 0.01

Set: 3700? | Accurate: 0.98 | Loss: 0.01

Set: 3750? | Accurate: 0.98 | Loss: 0.01

Set: 3800? | Accurate: 0.98 | Loss: 0.01

Set: 3850? | Accurate: 0.98 | Loss: 0.01

Set: 3900? | Accurate: 0.98 | Loss: 0.01

Set: 3950? | Accurate: 0.98 | Loss: 0.01

Process finished with exit code 0



可以發(fā)現(xiàn)準確度逐步增加,損失逐步減少

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市来吩,隨后出現(xiàn)的幾起案子岔绸,更是在濱河造成了極大的恐慌,老刑警劉巖端仰,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捶惜,死亡現(xiàn)場離奇詭異,居然都是意外死亡荔烧,警方通過查閱死者的電腦和手機吱七,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鹤竭,“玉大人踊餐,你說我怎么就攤上這事⊥沃桑” “怎么了吝岭?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長烁涌。 經(jīng)常有香客問我苍碟,道長,這世上最難降的妖魔是什么撮执? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任微峰,我火速辦了婚禮,結(jié)果婚禮上抒钱,老公的妹妹穿的比我還像新娘蜓肆。我一直安慰自己颜凯,他們只是感情好,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布仗扬。 她就那樣靜靜地躺著症概,像睡著了一般。 火紅的嫁衣襯著肌膚如雪早芭。 梳的紋絲不亂的頭發(fā)上彼城,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天,我揣著相機與錄音退个,去河邊找鬼募壕。 笑死,一個胖子當著我的面吹牛语盈,可吹牛的內(nèi)容都是我干的舱馅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼刀荒,長吁一口氣:“原來是場噩夢啊……” “哼代嗤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缠借,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤干毅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泼返,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溶锭,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年符隙,在試婚紗的時候發(fā)現(xiàn)自己被綠了趴捅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡霹疫,死狀恐怖拱绑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丽蝎,我是刑警寧澤猎拨,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站屠阻,受9級特大地震影響红省,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜国觉,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一最岗、第九天 我趴在偏房一處隱蔽的房頂上張望芜飘。 院中可真熱鬧,春花似錦肢娘、人聲如沸记餐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至硬毕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間礼仗,已是汗流浹背吐咳。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留元践,地道東北人挪丢。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像卢厂,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子惠啄,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 簡單線性回歸 import tensorflow as tf import numpy # 創(chuàng)造數(shù)據(jù) x_dat...
    CAICAI0閱讀 3,548評論 0 49
  • TF API數(shù)學計算tf...... :math(1)剛開始先給一個運行實例慎恒。tf是基于圖(Graph)的計算系統(tǒng)...
    MachineLP閱讀 3,467評論 0 1
  • 炎熱的暑假融柬,哪都沒去,在姑姑的發(fā)廊幫姑姑打理發(fā)廊趋距,生意一般般粒氧,不是很好,姑姑說到冷子节腐,你哥哥剛剛打電話回來說外盯,過...
    尦尦閱讀 404評論 0 0
  • 有個人拿來一段出家人打架的視頻狼渊,問:“都出家了箱熬,還打架?” 禪小胖聽后狈邑,取來一支鋼筆和一支白粉筆城须,又拿出一張白紙,...
    筏喻微集閱讀 286評論 0 1
  • 我家在南方一座溫暖小城米苹,說起這地方糕伐,大人們會開玩笑說我們這就是賣陽光的。是的蘸嘶,哪怕是冬天最低溫度也是十...
    沐若清閱讀 327評論 2 3