TensorBoard-01-网络结构

本文通过TensorFlow搭建了一个包含两个隐层的神经网络,并利用TensorBoard可视化工具展示了该网络结构。文章提供了完整的代码示例,包括如何定义网络层、设置dropout层及损失函数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TensorBoard-01-网络结构

官方的例子,for me, 一个小白,还是有点复杂,于是,我只好把它拆分一下,自我学习,大佬们就直接跳过把

本篇不进行训练,只搭建网络结构。并在 tensorboard 中展示

本文打算搭建一个2个隐层的神经网络结构

import tensorflow as tf
# 函数准备
def nn_layer(input_tensor, input_dim, output_dim, layer_name, act=tf.nn.relu):
    with tf.name_scope(layer_name):
        with tf.name_scope('weight'):
            w = tf.Variable(tf.truncated_normal([input_dim, output_dim], stddev=0.1))
        with tf.name_scope('bias'):
            b = tf.Variable(tf.truncated_normal([output_dim], stddev=0.1))
        with tf.name_scope('wx_plus_b'):
            out = tf.add(tf.matmul(input_tensor,w), b)
        with tf.name_scope('activation'):
            out = act(out)
        return out
with tf.name_scope('input'):
    x = tf.placeholder(tf.float32, [None, 784], name='x_input')
    y = tf.placeholder(tf.float32, [None, 10], name='y_input')

# 搭建网络
# first layer
hidden_1 = nn_layer(input_tensor=x, input_dim=784, output_dim=128, layer_name='layer_01')
# Dropper layer
with tf.name_scope('dropout'):
    dropped = tf.nn.dropout(hidden_1, keep_prob=1.0)
# second layer => output
pre = nn_layer(input_tensor=dropped, input_dim=128, output_dim=10, layer_name='layer_02')

with tf.name_scope('loss'):
    loss = tf.reduce_mean(tf.square(pre - y), name='my_loss')
with tf.name_scope('train'):
    optm = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(loss)

sess = tf.Session()
summary_writer = tf.summary.FileWriter(logdir='logs/', graph=sess.graph)

sess.run(tf.global_variables_initializer())

输出的结果如图所示:
这里写图片描述

Reference
  1. https://www.youtube.com/watch?v=SDeQRRRMUHU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值