我是靠谱客的博主 会撒娇小鸭子,最近开发中收集的这篇文章主要介绍tensorflow实现的一个三层神经网络,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

# -*- coding: utf-8 -*-
"""
Created on Sat Aug 13 16:38:38 2016
cnn of myself,today!
@author: root
"""
import tensorflow as tf
import numpy as np
'''
inputs : input x set
input_feature_size : input feature size
output_feature_size : output featutre size
activation_function : activation function
'''
def add_layer(inputs , input_feature_size , output_feature_size , activation_function = None):
    Weights = tf.Variable(tf.random_normal([input_feature_size , output_feature_size]))
    bias = tf.Variable(tf.zeros([1 , output_feature_size]) + 0.1)
    
    Wx_plus_bias = tf.matmul(inputs , Weights) + bias
    
    if(activation_function != None):
        outputs = activation_function(Wx_plus_bias)
    else :
        outputs = Wx_plus_bias
    
    return outputs

#x_data shape : 300 1
x_data = np.linspace(-1 , 1 , 300 , dtype = np.float32)[: , np.newaxis]
#with the same shape to x_data
noise = np.random.normal(0 , 0.05 , x_data.shape)
y_data = np.square(x_data) - 0.5 + noise

'''
define two holder
'''
x_holder = tf.placeholder(dtype = np.float32 , shape = [None , 1])
y_holder = tf.placeholder(dtype = np.float32 , shape = [None , 1])

'''
cnn : input layer ,  hidden layer , output layer
input layer : x_data , 1
hidden layer : x_data , 1 ===> x_data.lines.num , 10
output layer : x_data.lines.num , 1
'''
l1 = add_layer(x_holder , 1 , 10 , activation_function = tf.nn.relu)
l2 = add_layer(l1 , 10 , 1 , activation_function = None)

#define the loss
loss = tf.reduce_mean(tf.reduce_sum(tf.abs(y_holder - l2) , 1))

#define the proccess of train
train = tf.train.GradientDescentOptimizer(0.1).minimize(loss)

init = tf.initialize_all_variables()

with tf.Session() as sess:
    sess.run(init)
    for i in range(2000):
        sess.run(train , feed_dict={x_holder : x_data, y_holder : y_data})
        if(i % 50 == 0):
            print sess.run(loss , feed_dict={x_holder : x_data, y_holder : y_data})
       

最后

以上就是会撒娇小鸭子为你收集整理的tensorflow实现的一个三层神经网络的全部内容,希望文章能够帮你解决tensorflow实现的一个三层神经网络所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部