1-3BP神经网络-Tensorflow实现

该代码利用Python3实现,利用到了深度学习工具包Tensorflow。

TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

# -*- coding: utf-8 -*-
import tensorflow as tf
import numpy as np

def add_layer(inputs, in_size, out_size, activation_function=None):
    # 随机初始化神经网络的权值
    Weights = tf.Variable(tf.random_normal([in_size, out_size]))
    # 随机初始化神经网络的阈值
    biases = tf.Variable(tf.zeros([1, out_size])+0.1)
    # 设定激活函数
    Wx_plus_b = tf.matmul(inputs, Weights) + biases
    if activation_function == None:
        outputs = Wx_plus_b
    else:
        outputs = activation_function(Wx_plus_b)
    return outputs

# 设定神经网络的训练数据
# 设置神经网络的输入
x_data = np.linspace(-1, 1, 300)[:, np.newaxis] #300*1,输入只有一个神经元
noise = np.random.normal(0, 0.05, x_data.shape)
# 设置神经网络的输出
y_data = np.square(x_data) - 0.5 + noise
# tf.placeholder用来设置神经网络的输入层和输出层的结构
xs = tf.placeholder(tf.float32, [None,1])
ys = tf.placeholder(tf.float32, [None,1])
点击查看完整代码

你可能感兴趣的:(神经网络)