全连接层的基本使用

"""全连接层 -- 简单使用
"""
import tensorflow as tf# 输入维度[4, 784]
x = tf.random.normal((4, 784))# 网络结构 [?, 512] 输入维度确定?
net = tf.keras.layers.Dense(units=512)
out = net(x)print("输出维度:", out.shape)
# 根据矩阵相乘规则 推断出 [784, 512]
print("全连接层维度:", net.kernel.shape, "偏置维度", net.bias.shape)print("--" * 40)
# W和B的创建
net = tf.keras.layers.Dense(10)
# 在没有build之前调用失败
# print("全连接层维度:", net.kernel.shape, "偏置维度", net.bias.shape)
print(net.get_weights(), net.weights)# 创建权重与偏置 [None, 4] * [?, 10]  ==> 4
net.build(input_shape=(None, 4))
print("全连接层维度:", net.kernel.shape, "偏置维度", net.bias.shape)# 重新创建 全连接层 [None, 20] * [?, 10] ==> 20
net.build(input_shape=(None, 20))
print("全连接层维度:", net.kernel.shape, "偏置维度", net.bias.shape)# 重复创建 [2, 4] * [?, 10] ==> 4
net.build(input_shape=(2, 4))
print(net.kernel.numpy())# 输入维度不一致情况
net.build(input_shape=[None, 20])
print("全连接层维度:", net.kernel.shape, "偏置维度", net.bias.shape)# 输入维度不匹配
# x = tf.random.normal([4, 12])
x = tf.random.normal([4, 20])
out = net(x)
print("输出维度:", out.shape)

使用函数创建全连接网络

"""sequnential连续创建模型
"""
import tensorflow as tf# 输入数据
x = tf.random.normal([2, 3])# [2*3] ==> [3*2] ==> [2*2] ==>[2*2]
# 组建网络
model = tf.keras.Sequential([tf.keras.layers.Dense(2, activation="relu"),tf.keras.layers.Dense(2, activation="relu"),tf.keras.layers.Dense(2)  # 输出层
])# 初始化网络参数
model.build(input_shape=[None, 3])# 显示模型结构
model.summary()# 打印可训练变量
for p in model.trainable_variables:print(p.name, p.shape)

Tensorflow2.0 全连接层相关推荐

  1. 【深度学习】(3) 全连接层、激活函数

    各位同学好,今天和大家分享一下tensorflow2.0深度学习中的相关操作.内容有: (1) 全连接层创建: tf.keras.Sequential(),tf.keras.layers.Dense( ...

  2. 深度学习(22)神经网络与全连接层五: 误差计算

    深度学习(22)神经网络与全连接层五: 误差计算 1. MSE 2. Entropy(熵) 3. Cross Entropy 4. Binary Classification 5. Single ou ...

  3. 深度学习(21)神经网络与全连接层四: 输出方式

    深度学习(21)神经网络与全连接层四: 输出方式 1. y∈Rdy∈R^dy∈Rd 2. yi∈[0,1]y_i∈[0,1]yi​∈[0,1] 3. sigmoid函数 (1) 目的 (2) tf.s ...

  4. 深度学习(19)神经网络与全连接层二: 测试(张量)实战

    深度学习(19)神经网络与全连接层二: 测试(张量)实战 1. 传入测试集数据 2. 数据类型转换 3. 创建test_db 4. test/evluation 5. 创建神经网络 6. 输出 7. ...

  5. 深度学习(18)神经网络与全连接层一: 数据加载

    深度学习(18)神经网络与全连接层一: 数据加载 1. 常用数据集 2. MNIST数据集 (1) MNIST样本 (2) MNIST加载案例 3. CIFAR10/100 (1) CIFAR10/1 ...

  6. 全连接层的作用_全连接层实现

    本文以<Tensorflow2.0深度学习算法实战教材>参考,代码部分全程手打. 图1 将图1 堆叠可以得到含有多个隐藏层的全连接层,如图2所示.因为当前层的输入要与前一层的输出相匹配:所 ...

  7. 深度学习笔记(一):卷积层+池化层+激活函数+全连接层

    写在前面:大家好!我是[AI 菌],一枚爱弹吉他的程序员.我热爱AI.热爱分享.热爱开源! 这博客是我对学习的一点总结与记录.如果您也对 深度学习.机器视觉.算法.Python.C++ 感兴趣,可以关 ...

  8. 机器学习入门(15)— 全连接层与卷积层的区别、卷积神经网络结构、卷积运算、填充、卷积步幅、三维数据卷积、多维卷积核运算以及批处理

    卷积神经网络(Convolutional Neural Network,CNN)CNN 被用于图像识别.语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以 CNN 为基础. 1. 全连 ...

  9. 清华旷视让全连接层“内卷”,卷出MLP性能新高度

    此前,清华大学与旷视科技曾通过结构重参数化将7年老架构VGG"升级"为性能直达SOTA的RepVGG模型. 如今,这个结构重参数化系列研究又添"新成员": 他们 ...

最新文章

  1. SRTP是如何工作的
  2. WinForm 实现两个容器之间控件的拖动及排列(图文)
  3. Redis+分布式+设计模式+Spring全家桶+Dubbo阿里P8技术精选文档
  4. Bresenham 生成直线
  5. 我来更新了,说说工作中的Java处理异常
  6. qt中如何模拟按钮点击_qt – 在Windows中模拟鼠标按钮单击
  7. 部门管理系统_什么是实物资产管理系统?优势有哪些?
  8. Windows平台内核级文件访问
  9. select元素javascript常用操作(转载)
  10. 房间WIFI信号不好怎么办?——无线路由桥接(WDS)
  11. php json 存储数据格式,文件存储(一):通过 JSON 格式序列化文本数据
  12. 在Win7系统中如何安装PDF虚拟打印机
  13. scrapy-redis的官方文档和源码位置
  14. java 抓取搜狗微信_搜狗微信公众号文章抓取
  15. Worthington胰蛋白酶解决方案
  16. MySQL语法练习---常见题型练习
  17. 关于使用Vivado在仿真时报错的问题
  18. 针对好玩游戏物品清单
  19. 小程序实现图片放大预览功能
  20. 超级全面-深拷贝与浅拷贝的实现方式

热门文章

  1. 怎么用feign远程调用别人的接口_Feign远程接口调用
  2. 新浪微博开发之三十五(微博frame)
  3. 高性能服务通信框架Gaea的详细实现--server启动流程
  4. Shell编程之条件语句(if单分支、双分支、多分支、case多分支)
  5. web开发工具(ColorPic,HttpWatch,IEDevToolBar)
  6. 百万奖金花落谁家|中国华录杯·开放数据创新应用大赛巅峰之战
  7. Adaptec by PMC为高密度超大规模数据中心三倍提升存储连接能力
  8. 数据库复制更改数据库名称
  9. 技巧:Linux 动态库与静态库制作及使用详解
  10. 负折射率波导matlab,MATLAB数值计算在光学仿真和教学中的应用