Python搭建tensorflow三层神经网络

本文提供了一个Python示例,展示如何利用TensorFlow搭建一个包含三层的神经网络,涉及机器学习的基础应用。
摘要由CSDN通过智能技术生成

Python搭建tensorflow三层神经网络的小例子

 
 
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt #输出图像的库

#加入神经网络层,activation_function是激励函数,初始化为None
def add_layer(inputs,in_size,out_size,activation_function=None):

    #定义权重(矩阵),为一个有in_size行,out_size列的矩阵,矩阵元素值取自一个正态分布中的随机数。
    Weights=tf.Variable(tf.random_normal([in_size,out_size]))#random_normal

    #定义偏置(列表),初始值推荐不为零
    biases=tf.Variable(tf.zeros([1,out_size]))+0.1

    #Weight*x+biases
    Wx_plus_b=tf.matmul(inputs,Weights)+biases

    #如果没有激励函数(线性),直接输出计算结果
    if activation_function is None:
        outputs=Wx_plus_b
    else:
        outputs=activation_function(Wx_plus_b)
    return outpu
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个基于TensorFlow搭建模块化神经网络的示例代码: ```python import tensorflow as tf # 定义输入 def create_input_layer(input_size): return tf.placeholder(tf.float32, shape=[None, input_size], name='input') # 定义隐 def create_hidden_layer(input_layer, num_neurons, activation): input_size = int(input_layer.shape[1]) stddev = 2.0 / tf.sqrt(input_size + num_neurons) weights = tf.Variable(tf.truncated_normal([input_size, num_neurons], stddev=stddev)) biases = tf.Variable(tf.zeros([num_neurons])) layer = tf.matmul(input_layer, weights) + biases if activation: layer = activation(layer) return layer # 定义输出 def create_output_layer(input_layer, num_classes): input_size = int(input_layer.shape[1]) stddev = 2.0 / tf.sqrt(input_size + num_classes) weights = tf.Variable(tf.truncated_normal([input_size, num_classes], stddev=stddev)) biases = tf.Variable(tf.zeros([num_classes])) layer = tf.matmul(input_layer, weights) + biases return layer # 定义模型 def build_model(input_size, hidden_layers, num_classes): input_layer = create_input_layer(input_size) hidden_layer = input_layer for num_neurons, activation in hidden_layers: hidden_layer = create_hidden_layer(hidden_layer, num_neurons, activation) output_layer = create_output_layer(hidden_layer, num_classes) return input_layer, output_layer # 测试 input_size = 784 hidden_layers = [(256, tf.nn.relu), (128, tf.nn.relu)] num_classes = 10 input_layer, output_layer = build_model(input_size, hidden_layers, num_classes) print(input_layer) print(output_layer) ``` 这个示例代码定义了一个三层神经网络,包括一个输入、两个隐和一个输出。其中,输入和输出都比较简单,而隐则是根据输入的大小、神经元个数和激活函数来创建的。同时,这个代码还支持模型的构建和测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值