>[[1,2,3]]" />

色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorFlow學習之建立一個神經網絡添加層

lviY_AI_shequ ? 來源:未知 ? 作者:李倩 ? 2018-03-31 10:56 ? 次閱讀

1.建立一個神經網絡添加層

輸入值、輸入的大小、輸出的大小和激勵函數

學過神經網絡的人看下面這個圖就明白了,不懂的去看看我的另一篇博客(http://www.cnblogs.com/wjy-lulu/p/6547542.html)

def add_layer(inputs , in_size , out_size , activate = None):

Weights = tf.Variable(tf.random_normal([in_size,out_size]))#隨機初始化

baises = tf.Variable(tf.zeros([1,out_size])+0.1)#可以隨機但是不要初始化為0,都為固定值比隨機好點

y = tf.matmul(inputs, Weights) + baises #matmul:矩陣乘法,multipy:一般是數量的乘法

if activate:

y = activate(y)

return y

2.訓練一個二次函數

import tensorflow as tf

import numpy as np

def add_layer(inputs , in_size , out_size , activate = None):

Weights = tf.Variable(tf.random_normal([in_size,out_size]))#隨機初始化

baises = tf.Variable(tf.zeros([1,out_size])+0.1)#可以隨機但是不要初始化為0,都為固定值比隨機好點

y = tf.matmul(inputs, Weights) + baises #matmul:矩陣乘法,multipy:一般是數量的乘法

if activate:

y = activate(y)

return y

if __name__ == '__main__':

x_data = np.linspace(-1,1,300,dtype=np.float32)[:,np.newaxis]#創建-1,1的300個數,此時為一維矩陣,后面轉化為二維矩陣===[1,2,3]-->>[[1,2,3]]

noise = np.random.normal(0,0.05,x_data.shape).astype(np.float32)#噪聲是(1,300)格式,0-0.05大小

y_data = np.square(x_data) - 0.5 + noise #帶有噪聲的拋物線

xs = tf.placeholder(tf.float32,[None,1]) #外界輸入數據

ys = tf.placeholder(tf.float32,[None,1])

l1 = add_layer(xs,1,10,activate=tf.nn.relu)

prediction = add_layer(l1,10,1,activate=None)

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),reduction_indices=[1]))#誤差

train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#對誤差進行梯度優化,步伐為0.1

sess = tf.Session()

sess.run( tf.global_variables_initializer())

for i in range(1000):

sess.run(train_step, feed_dict={xs: x_data, ys: y_data})#訓練

if i%50 == 0:

print(sess.run(loss, feed_dict={xs: x_data, ys: y_data}))#查看誤差

3.動態顯示訓練過程

顯示的步驟程序之中部分進行說明,其它說明請看其它博客(http://www.cnblogs.com/wjy-lulu/p/7735987.html)

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

def add_layer(inputs , in_size , out_size , activate = None):

Weights = tf.Variable(tf.random_normal([in_size,out_size]))#隨機初始化

baises = tf.Variable(tf.zeros([1,out_size])+0.1)#可以隨機但是不要初始化為0,都為固定值比隨機好點

y = tf.matmul(inputs, Weights) + baises #matmul:矩陣乘法,multipy:一般是數量的乘法

if activate:

y = activate(y)

return y

if __name__ == '__main__':

x_data = np.linspace(-1,1,300,dtype=np.float32)[:,np.newaxis]#創建-1,1的300個數,此時為一維矩陣,后面轉化為二維矩陣===[1,2,3]-->>[[1,2,3]]

noise = np.random.normal(0,0.05,x_data.shape).astype(np.float32)#噪聲是(1,300)格式,0-0.05大小

y_data = np.square(x_data) - 0.5 + noise #帶有噪聲的拋物線

fig = plt.figure('show_data')# figure("data")指定圖表名稱

ax = fig.add_subplot(111)

ax.scatter(x_data,y_data)

plt.ion()

plt.show()

xs = tf.placeholder(tf.float32,[None,1]) #外界輸入數據

ys = tf.placeholder(tf.float32,[None,1])

l1 = add_layer(xs,1,10,activate=tf.nn.relu)

prediction = add_layer(l1,10,1,activate=None)

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),reduction_indices=[1]))#誤差

train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#對誤差進行梯度優化,步伐為0.1

sess = tf.Session()

sess.run( tf.global_variables_initializer())

for i in range(1000):

sess.run(train_step, feed_dict={xs: x_data, ys: y_data})#訓練

if i%50 == 0:

try:

ax.lines.remove(lines[0])

except Exception:

pass

prediction_value = sess.run(prediction, feed_dict={xs: x_data})

lines = ax.plot(x_data,prediction_value,"r",lw = 3)

print(sess.run(loss, feed_dict={xs: x_data, ys: y_data}))#查看誤差

plt.pause(2)

while True:

plt.pause(0.01)

4.TensorBoard整體結構化顯示

A.利用with tf.name_scope("name")創建大結構、利用函數的name="name"去創建小結構:tf.placeholder(tf.float32,[None,1],name="x_data")

B.利用writer = tf.summary.FileWriter("G:/test/",graph=sess.graph)創建一個graph文件

C.利用TessorBoard去執行這個文件

這里得注意--->>>首先到你存放文件的上一個目錄--->>然后再去運行這個文件

tensorboard --logdir=test

(被屏蔽的GIF動圖,具體安裝操作歡迎戳“原文鏈接”哈!)

5.TensorBoard局部結構化顯示

A. tf.summary.histogram(layer_name+"Weight",Weights):直方圖顯示

B. tf.summary.scalar("Loss",loss):折線圖顯示,loss的走向決定你的網絡訓練的好壞,至關重要一點

C.初始化與運行設定的圖表

merge = tf.summary.merge_all()#合并圖表2 writer = tf.summary.FileWriter("G:/test/",graph=sess.graph)#寫進文件3 result = sess.run(merge,feed_dict={xs:x_data,ys:y_data})#運行打包的圖表merge4 writer.add_summary(result,i)#寫入文件,并且單步長50

完整代碼及顯示效果:

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

def add_layer(inputs , in_size , out_size , n_layer = 1 , activate = None):

layer_name = "layer" + str(n_layer)

with tf.name_scope(layer_name):

with tf.name_scope("Weights"):

Weights = tf.Variable(tf.random_normal([in_size,out_size]),name="W")#隨機初始化

tf.summary.histogram(layer_name+"Weight",Weights)

with tf.name_scope("Baises"):

baises = tf.Variable(tf.zeros([1,out_size])+0.1,name="B")#可以隨機但是不要初始化為0,都為固定值比隨機好點

tf.summary.histogram(layer_name+"Baises",baises)

y = tf.matmul(inputs, Weights) + baises #matmul:矩陣乘法,multipy:一般是數量的乘法

if activate:

y = activate(y)

tf.summary.histogram(layer_name+"y_sum",y)

return y

if __name__ == '__main__':

x_data = np.linspace(-1,1,300,dtype=np.float32)[:,np.newaxis]#創建-1,1的300個數,此時為一維矩陣,后面轉化為二維矩陣===[1,2,3]-->>[[1,2,3]]

noise = np.random.normal(0,0.05,x_data.shape).astype(np.float32)#噪聲是(1,300)格式,0-0.05大小

y_data = np.square(x_data) - 0.5 + noise #帶有噪聲的拋物線

fig = plt.figure('show_data')# figure("data")指定圖表名稱

ax = fig.add_subplot(111)

ax.scatter(x_data,y_data)

plt.ion()

plt.show()

with tf.name_scope("inputs"):

xs = tf.placeholder(tf.float32,[None,1],name="x_data") #外界輸入數據

ys = tf.placeholder(tf.float32,[None,1],name="y_data")

l1 = add_layer(xs,1,10,n_layer=1,activate=tf.nn.relu)

prediction = add_layer(l1,10,1,n_layer=2,activate=None)

with tf.name_scope("loss"):

loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction),reduction_indices=[1]))#誤差

tf.summary.scalar("Loss",loss)

with tf.name_scope("train_step"):

train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)#對誤差進行梯度優化,步伐為0.1

sess = tf.Session()

merge = tf.summary.merge_all()#合并

writer = tf.summary.FileWriter("G:/test/",graph=sess.graph)

sess.run( tf.global_variables_initializer())

for i in range(1000):

sess.run(train_step, feed_dict={xs: x_data, ys: y_data})#訓練

if i%100 == 0:

result = sess.run(merge,feed_dict={xs:x_data,ys:y_data})#運行打包的圖表merge

writer.add_summary(result,i)#寫入文件,并且單步長50

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4778

    瀏覽量

    101014
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60583

原文標題:TensorFlow學習之神經網絡的構建

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    TFCNN:Tensorflow構建卷積神經網絡CNN的嘻嘻哈哈事詳細攻略

    TFCNN:Tensorflow構建卷積神經網絡CNN的嘻嘻哈哈事詳細攻略
    發表于 12-19 17:03

    KerasML~P:基于Keras中建立的回歸預測的神經網絡模型

    KerasML~P:基于Keras中建立的回歸預測的神經網絡模型(根據200數據樣本預測新的5+1樣本)——回歸預測
    發表于 12-20 10:43

    matplotlib動態演示深度學習tensorflow神經網絡系統自動學習散點(二次函數+noise)并優化修正并且將輸出結果可視化

    TFNN:matplotlib動態演示深度學習tensorflow神經網絡系統自動學習散點
    發表于 12-21 10:48

    【案例分享】基于BP算法的前饋神經網絡

    `BP神經網絡首先給出只包含的BP神經網絡模型(兩
    發表于 07-21 04:00

    【案例分享】ART神經網絡與SOM神經網絡

    種常用的無監督學習策略,在使用改策略時,網絡的輸出神經元相互競爭,每時刻只有
    發表于 07-21 04:30

    淺談深度學習TensorFlow

    神經網絡和深度學習的概念,但為了完整起見,我們將在這里介紹基礎知識,并探討 TensorFlow 的哪些特性使其成為深度學習的熱門選擇。神經網絡
    發表于 07-28 14:34

    【AI學習】第3篇--人工神經網絡

    `本篇主要介紹:人工神經網絡的起源、簡單神經網絡模型、更多神經網絡模型、機器學習的步驟:訓練與預測、訓練的兩階段:正向推演與反向傳播、以Tensor
    發表于 11-05 17:48

    如何移植CNN神經網絡到FPGA中?

    二次開發。移植神經網絡到Lattice FPGA上可以分為三步:第步:使用Tensorflow, Caffe, Keras訓練自己的
    發表于 11-26 07:46

    如何構建神經網絡?

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡種基于現有數據創建預測的計算系統。如何構建神經網絡?神經網絡包括:輸入
    發表于 07-12 08:02

    基于BP神經網絡的PID控制

    最近在學習電機的智能控制,上周學習了基于單神經元的PID控制,這周研究基于BP神經網絡的PID控制。神經網絡具有任意非線性表達能力,可以通過
    發表于 09-07 07:43

    卷積神經網絡簡介:什么是機器學習

    列文章將只關注卷積神經網絡 (CNN)。CNN的主要應用領域是輸入數據中包含的對象的模式識別和分類。CNN是種用于深度學習的人工神經網絡。此類網絡
    發表于 02-23 20:11

    TensorFlow寫個簡單的神經網絡

    這次就用TensorFlow寫個神經網絡,這個神經網絡寫的很簡單,就三種,輸入--隱藏--
    的頭像 發表于 03-23 15:37 ?5186次閱讀
    用<b class='flag-5'>TensorFlow</b>寫個簡單的<b class='flag-5'>神經網絡</b>

    使用tensorflow構建簡單神經網絡

    給大家分享案例,如何使用tensorflow 構建簡單神經網絡。首先我們需要創建我們的樣
    的頭像 發表于 10-16 08:41 ?2364次閱讀

    卷積神經網絡層級結構 卷積神經網絡的卷積講解

    卷積神經網絡層級結構 卷積神經網絡的卷積講解 卷積神經網絡(Convolutional Neural Network,CNN)是種基于深
    的頭像 發表于 08-21 16:49 ?9003次閱讀

    卷積神經網絡共有幾層 卷積神經網絡模型三

    卷積神經網絡共有幾層 卷積神經網絡模型三? 卷積神經網絡 (Convolutional Neural Networks,CNNs) 是
    的頭像 發表于 08-21 17:11 ?7114次閱讀
    主站蜘蛛池模板: 国厂精品114福利电影| 免费被靠视频动漫| 校花在公车上被内射好舒| 国产精品成人免费观看| 亚洲风情无码免费视频| 久草在线一免费新视频| 777琪琪午夜理论电影网| 欧美一道本一区二区三区| 国产白丝精品爽爽久久久久久蜜臀| 先锋影音av最新资源| 久久看片网| 成人国产三级在线播放| 亚洲AV午夜精品麻豆AV| 久久九九有精品国产23百花影院| 99视频全部看免费观| 小p孩玩成年女性啪啪资源| 久久久擼擼擼麻豆| 边做边爱免费视频| 亚洲日韩一区精品射精| 欧美一区二区三区男同| 湖南电台在线收听| 边摸边吃奶边做带声音| 亚洲色婷婷久久精品AV蜜桃| 欧美中文字幕一区二区三区| 韩国无遮羞禁动漫在线观看 | 亚洲AV美女成人网站P站 | 噜噜噜狠狠夜夜躁| 真实国产熟睡乱子伦对白无套| 欧美一级做a爰片免费| 国产真实强被迫伦姧女在线观看| 无人区在线日本高清免费| 久久毛片基地| 国产精品久久久久影院嫩草| 7723日本高清完整版在线观看| 午夜一个人在线观看完整版| 免费果冻传媒在线完整观看| 国产在线aaa片一区二区99| 本庄优花aⅴ全部在线影片 | 999国产高清在线精品| 小鸟酱喷水| 日本不卡三卡四卡|