龙曲良 Tensorflow —— 神经网络与全连接层(自用)

news2024/11/26 8:41:40

目录

一、数据加载(keras.datasets)

1.1 MNIST 加载

1.2 CIFAR10/100 加载

1.3 tf.data.Dataset.from_tensor_slices

1.4 .shuffle (对应打散数据)

1.5 .map(数据预处理)

1.6 .batch  /  .repeat

二、全连接层

三、输出方式

3.1 y ∈ R 

3.2 y ∈ [0. 1] 

3.3 y ∈ [0, 1],Σ y = 1

3.4 y ∈ [-1, 1] 

四、误差计算

4.1 MSE 

4.2 交叉熵(用于分类)

4.2.1 二分类

4.2.3 多分类


一、数据加载(keras.datasets)

数据集列表:

        (1)boston housing:波士顿房价

        (2)mnist:手写数字集

        (3)cifar:另一个小型的图片识别的

        (4)imdb:用户评语(100字以内),好评差评

1.1 MNIST 加载

(x,y),(x_test,y_test)

x,y 为训练集:[60k, 28, 28],[60k, ]

x_test,y_test 为测试集:[10k, 28, 28],[10k, ]

因为都是灰度图,所以颜色通道是 1

导入的格式是个 numpy 的api,所以可以直接 x.min(),不然 tensor 中是 tf.reduce_min

1.2 CIFAR10/100 加载

CIFAR10 就是 10 类,CIFAR100 就是把每一个大类都细分,最后成 100 个小类

因为  cifar 大小非常小,所以图片会模糊,真实大小是 [32, 32, 3]

(x,y),(x_test,y_test)

x,y 为训练集:[50k, 32, 32],[50k, 1]

x_test,y_test 为测试集:[10k, 32, 32],[10k, 1]

1.3 tf.data.Dataset.from_tensor_slices

       因为加载的都是 numpy 格式的,都是要转化为 tensor 的,所以就有了一个函数直接使用就是:tf.data.Dataset.from_tensor_slices

       但是要先取它的迭代器,再取它,就是 next(iter(db))

1.4 .shuffle (对应打散数据)

防止数据集排列的规律一致,如y(label)都是0-9这样排列,所以就把数据 x对应y来打散

1.5 .map(数据预处理)

1.6 .batch  /  .repeat

用 while 的话会触发一个异常 

代码:新的 TF06 forward.py

二、全连接层

代码: mlp.py

三、输出方式

3.1 y ∈ R 

3.2 y ∈ [0. 1] 

3.3 y ∈ [0, 1],Σ y = 1

sigmoid 不能保证所有概率之和为1

softmax 可以

3.4 y ∈ [-1, 1] 

四、误差计算

4.1 MSE 

4.2 交叉熵(用于分类)

熵(Entropy)的概念

交叉熵(Cross Entropy):

4.2.1 二分类

二分类有两种格式,但是现在来说这两种并没有什么影响

qi 为在 i 结点输出的 概率

4.2.3 多分类

categorical_crossentropy 小写形式是一个函数,大写形式是一个类,调用方式不一样

binary_crossentropy 和 BinaryCrossentropy 也是

BinaryCrossentropy()([1], [0.1]) 前一个括号是建立这个类,可以命名为 criteon

具体使用需要我们自己总结经验

最好设置 from_logits=True 不然会出现数值不稳定的情况,tensorflow 默认是 False

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3语法

vue3教程 //ps 这里是基本写法 一般项目不需要ref 因为需要一直return 这里是根据在不使用ts后缀 来在.vue里面写setup 如下图所示:setup setup是启动页面会自动执行的一个函数 项目里定义的所有变量,都要在setup当中 在setup定义的变量和方法,都需要r…

chatGTP的全称Chat Generative Pre-trained Transformer

chatGPT,有时候我会拼写为:chatGTP,所以知道这个GTP的全称是很有用的。 ChatGPT全名:Chat Generative Pre-trained Transformer ,中文翻译是:聊天生成预训练变压器,所以是GPT,G是生…

DIDL3_模型选择、复杂度、过欠拟合的相关概念

模型选择、复杂度、过欠拟合的概念模型选择训练误差和泛化误差验证数据集和测试数据集K-则交叉验证(没有足够多数据时使用)过拟合和欠拟合模型容量模型容量的影响估计模型容量控制模型容量数据复杂度处理过拟合的方法(1)&#xff…

关于最近大热的AI,你怎么看?

AI人工智能,相信大家都不陌生,也都接触过不少。但是最近小编在网上冲浪的时候发现各大媒体又掀起了一阵AI热潮,AI不是很常见了吗?是又有什么新的发展吗? 带着强烈的好奇心,我在地铁上读完了一篇关于Chatgp…

【分享】如何通过集简云将ChatGPT人工智能接入到您的内容平台中?

ChatGPT是一款非常强大的人工智能产品,可以有创造性的回复和创作文字,图片,适用于很多办公场景。这篇文章将介绍如何将ChatGPT接入到您的办公系统中。 目前集简云提供了两个ChatGPT应用: OpenAI(ChatGPT)内置:这个是集…

IB化学考什么?这些知识点请收藏

春天来了,IB大考还会远吗?不少学生为IB大考紧张不已。为大家介绍一下IB化学的相关内容。01考试时间和考试形式 2023年IB考试将于2023年4月27日开始,2023年5月19日结束。化学部分的考试分别是在5月11日、12日进行。 IB化学考试包括&#xff1a…

LeetCode刷题--- 61. 旋转链表(快慢指针+闭合为环)

💌 所属专栏:【LeetCode题解(持续更新中)】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的码仔,专注基础和实战分享 ,欢迎…

cors跨域问题

CORS CORS,全称Cross-Origin Resource Sharing,是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domain)的脚本请求访问的机制,通常由于同域安全策略(…

如何设计一个秒杀系统

秒杀系统要如何设计? 前言 高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,但是里面的水很深,它考查的是高并发场景下,从前端到后端多方面的知识。 秒杀一般出现在商城的促销活动中,指定…

Cosmos 基础 -- Ignite CLI(二)Module basics: Blog

一、快速入门 Ignite CLI version: v0.26.1 在本教程中,我们将使用一个模块创建一个区块链,该模块允许我们从区块链中写入和读取数据。这个模块将实现创建和阅读博客文章的功能,类似于博客应用程序。最终用户将能够提交新的博客文章&#x…

计算机网络学习笔记(一)

网络是由若干接点和连接这些结点的链路组成。 多个网络通过路由器互联起来构成覆盖范围更大的互联网。 普通用户通过ISP接入因特网。 基于ISP的三层结构因特网 相隔较远的两台主机间通信可能需要经过多个ISP。 有电路交换,报文交换,分组交换三种交换方…

【并发编程】LockSupport源码详解

目录 一、前言 1.1 简介 1.2 为什么说LockSupport是Java并发的基石? 二、LockSupport的用途 2.1 LockSupport的主要方法 2.2 使用案例 2.3 总结 三、LockSupport 源码分析 3.1 学习原理前的前置知识 3.1.1 Unsafe.park()和Unsafe.unpark() 3.1.2wait和notify/notify…

MyEclipse技术全面解析——EJB开发工具介绍(一)

MyEclipse v2022.1.0正式版下载1. MyEclipse EJB开发工具Enterprise Java Beans (EJB) 已经成为实现Java企业业务功能和与数据库资源接口的Java EE 5标准,MyEclipse EJB3工具支持Java EE 5简化的基于注释的POJO编程模型,这些工具使开发人员能够在几分钟内…

微信怎么群发消息给所有人?图文教学,快速弄懂

​微信作为很多小伙伴经常使用的工具,无论是学习、工作还是其他方面都会使用到。有些时候,需要将同一条消息发给通讯录里的大多数人,一条一条的转发太慢了,群发消息给所有人是个不错的办法。微信怎么群发消息给所有人?…

广东省基层就业补贴

基层就业补贴链接:https://www.gdzwfw.gov.cn/portal/v2/guide/11440309MB2D27065K4440511108001 一.申请条件: 1、劳动者到中小微企业、个体工商户、社会组织等就业,或到乡镇(街道)、村居社会管理和公共服务岗位就业…

spring cloud篇——什么是服务熔断?服务降级?服务限流?spring cloud有什么优势?

文章目录一、spring cloud 有什么优势二、服务熔断2.1、雪崩效应2.2、DubboHystrixCommand三、服务降级四、服务限流4.1、限流算法4.2、应用级限流4.3、池化技术4.4、分布式限流4.5、基于Redis 功能的实现限流4.6、基于令牌桶算法的实现4.6.1 、Java实现一、spring cloud 有什么…

GUI swing和awt

GUI(Graphical User Interface,简称 GUI,图形用户界面)是指采用图形方式显示的计算机操作用户界面,与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。Java GUI主要有两个核心库&…

【计算机网络】传输层TCP协议

文章目录认识TCP协议TCP协议的格式字段的含义序号与确认号六个标志位窗口大小确认应答(ACK)机制超时重传机制连接管理机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况总结认识TCP协议 传输控制协议 (TCP,T…

多边形网格算法笔记

本文是处理多边形和网格的各种笔记和算法。 推荐:使用 NSDT场景设计器 快速搭建 3D场景。 1、表面简化 下面描述了一种方法,用于减少构成表面表示的多边形数量,同时仍试图保留表面的基本形式。 如果正在为渲染和/或交互环境寻求性能改进&…

【CS224图机器学习】task1 图机器学习导论

前言:本期学习是由datawhale(公众号)组织,由子豪兄讲解的202302期CS224图机器学习的学习笔记。本次学习主要针对图机器学习导论做学习总结。1.什么是图机器学习?通过图这种数据结构,对跨模态数据进行整理。…