深度学习(TensorFlow)学习笔记

本文介绍了使用TensorFlow进行深度学习的基本步骤,包括标签向量化、占位符创建、卷积层、最大池化层、ReLU激活函数、展开操作以及全连接层的应用。通过实例解析了卷积和池化层的padding计算,以及全连接层的自动参数初始化。

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

1.将标签数字转化成列向量,如
在这里插入图片描述

def convert_to_one_hot(Y, C):#Y为标签,C为类别数
    Y = np.eye(C)[Y.reshape(-1)].T
    return Y
Y.shape = (1,m),m为样本数

np.eye()返回一个单位矩阵,[Y.reshape(-1)]的shape = (m,)中的m决定列方向的延展数量,而行方向的元素个数由C决定,行方向置为1的位置由Y1.reshape(-1)这个list的值所提供,转置后得到最终的结果。

2.为X,Y创建占位符,X为样本,Y为标签

def create_placeholders(n_H0, n_W0, n_C0, n_y):
    """
    Creates the placeholders for the tensorflow session.
    Arguments:
    n_H0 -- scalar, height of an input image
    n_W0 -- scalar, width of an input image
    n_C0 -- scalar, number of channels of the input
    n_y -- scalar, number of classes
    Returns:
    X -- placeholder for the data input, of shape [None, n_H0, n_W0,n_C0] and dtype "float"
    Y -- placeholder for the input labels, of shape [None, n_y] and dtype "float"
    """
    X = tf.placeholder(tf.float32, shape=(None, n_H0, n_W0, n_C0))
    Y = tf.placeholder(tf.float32, shape=(None, n_y))

3.卷积层

tf.nn.conv2d(
    input,
    filter,
    strides,
    padding,
    use_cudnn_on_gpu=True,
    data_format='NHWC',
    dilations=[1, 1, 1, 1],
    name=None
)

input:输入,形状为[batch, in_height, in_width, in_channels]
filter:过滤器(W,即权重),形状为[filter_height, filter_width, in_channels, out_channels]
strides:步长,[1,s,s,1]表示对于输入每一维的步长
padding:填充,有same和VALID两种。
padding与正常理解的不同:
padding = ‘SAME’, 计算公式为
在这里插入图片描述
padding = ‘VALID’, 计算公式为
在这里插入图片描述
并且均向上取整

详细见:https://www.tensorflow.org/api_docs/python/tf/nn/conv2d
4.最大池化层

tf.nn.max_pool(
    value,
    ksize,
    strides,
    padding,
    data_format='NHWC',
    name=None
)

value:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晴天stick

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值