colab进行keras入门随机数和标签的一点思考,例如shape和Dense等

keras官方中文文档

pip install kerasfrom keras import layers
from keras import modelsmodel.add(layers.Dense(32,activation='relu',input_shape=(100,)))# 添加多个Dense层
model.add(layers.Dense(10,activation='softmax'))
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])# 编译模型import numpy as np# 创建随机数据
data = np.random.random((1000, 100)) #1000100列矩阵
labels = np.random.randint(10, size=(1000, 1)) # 1000行一列矩阵,所以元素都是[0,10)直接
print(data)print(labels)import keras
# 将标签转化为one-hot编码
one_hot_labels = keras.utils.to_categorical(labels, num_classes=10)
print(one_hot_labels)# 训练模型
model.fit(data, one_hot_labels, epochs=10, batch_size=32)# 测试数据
test_data = np.random.random((100,100))
test_label= np.random.randint(10,size=(100,1))
test_one_hot_labels = keras.utils.to_categorical(test_label,num_classes=10)# 评估模型在测试数据上的性能
score = model.evaluate(test_data, test_one_hot_labels, batch_size=32)
print("损失值:", score[0])
print("精确值:", score[1])# 创建随机输入数据
data = np.random.random((1, 100))# 进行预测
predictions = model.predict(data)
print("预测结果:", predictions)
print(data)
print(len(predictions[0]))

上面部分代码是在colab是逐部分执行的,所以看起来不符合完整文件的风格。
在这里插入图片描述

细节部分注意点

部分内容详细见官方文档部分:
https://keras-zh.readthedocs.io/getting-started/sequential-model-guide/

1.如果from keras import layers,那么layers.Dense()定义一个层。
如果from keras.layers import Dense,那么Dense()即可,这些只需看看即可,了解python的应该很容易明白。官方文档
了

2.input_shape和input_dim

关于input_shape和input_dim。其中dim是dimension(维度)的意思。我们注意到input_shape(100,)这里的逗号,那是因为keras里面数据以张量形式存在(可以理解为一个列/行向量),
例如:[[1],[2],[3]] 这个张量的shape为(3,1)
[[[1,2],[3,4]],[[5,6],[7,8]],[[9,10],[11,12]]]这个张量的shape为(3,2,2),
[1,2,3,4]这个张量的shape为(4,)。
所以我们可以认为input_shape(100,)表示传入的每个数据都是100维的张量
这也契合了我们下面代码中的data = np.random.random((1000, 100)) ,表示1000行100列矩阵,这里的100列就和前面input_shape(100,)匹配上了
查阅官方文档可知:
在这里插入图片描述

3

one_hot_labels = keras.utils.to_categorical(labels, num_classes=10)

这部分代码理解可以参考我的另外一篇博客:keras框架的to_categorical方法

4

Dense(32,activation=‘relu’,input_shape=(100,)))和Dense(10,activation=‘softmax’))的输入输出理解:输入的是(,16)的输入数组,第一层输出的是(,32),同时作为第二层的输入,第二层的输出是(*,10)
我们给每层加上名字,调用summary()方法即可了解到每层输出的shape,注意这里的None,这里是给batch_size预留的位置,因为模型不知道你输入的数据每次批量是多少,所以干脆使用None占位了。
参考链接:keras的shape
在这里插入图片描述

在这里插入图片描述

5

# 创建随机输入数据
data = np.random.random((1, 100))# 进行预测
predictions = model.predict(data)
print("预测结果:", predictions)
print(data)
print(len(predictions[0]))

预测的输入数据为1个100维的张量,在第二个Dense层中model.add(layers.Dense(10,activation=‘softmax’)),激活函数为softmax,这个是处理多类别分类问题的函数,10表示我们第二个隐藏层有10个神经元,换句话说我们输出的种类有10种,所以我们这个数据结果为10维,他们的概率和加起来为1,注意,我们应该意识到,这10个类别,实际上是标签,所以预测结果实际上是10个类别的各自概率是多少。
在这里插入图片描述
虽然keras封装的很好,写个简单的随机数标签问题只需要几行代码,如果可以登录colab则连环境都不用配置。但是其中需要琢磨的细节还是不少的。

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

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

相关文章

pikachu之sql lnjet 字符型注入

先测试一下闭合 注释符号:-- 注释符号可以忽略其后的内容,使得后续的原始查询内容不会影响我们注入的SQL代码。 条件测试:通过and 11和and 12分别测试真假条件,可以判断输入是否成功闭合,并且可以检测注入是否成功。 …

Kotlin 协程 — 基础

Kotlin 协程 — 基础 协程已经存在一段时间了,关于它的各种文章也很多。但我发现想要了解它还比较费时,所以我花了一段时间才真正理解了协程的基础知识以及它的工作原理。因此,我想分享一些我理解到的内容。 什么是协程? 协程代表…

关于OLED的I2C手册记录

首先我们从淘宝上面找到对应OLED 4pin iic驱动的ssd1306手册,它有多种的驱动方式,我们只需要看看他这个i2c模式。 我们可以从中看到 Slave address R/W后面的#代表低电平是W。 SA0是它的一个 slave address bit 可以使用 这两个都可以作为OLED的 设备…

分布式事务与Seata落地

分布式事务与Seata落地 一、事务基础 1.1 本地事务 事务指的就是一个操作单元, 在这个操作单元中的所有操作最终要保持一致的行为, 要么所有操作都成功, 要么所有的操作都被撤销。 1.2 本地事务特性 本地事务四大特性: ACID A: 原子性(Atomicity), 一个事务中的所有操作, …

如何通过一条SQL变更多个分库分表?

数据库发展到今天,分库分表已经不是什么新鲜话题了,传统的单节点数据库架构在数据量和访问频次达到一定规模时,会出现性能瓶颈和扩展性问题,而分库分表技术通过将数据分散到多个数据库实例中来分担负载,从而提升系统的…

数字信号||离散序列的基本运算(2)

实验二 离散序列的基本运算 一、实验目的 (1)进一步了解离散时间序列时域的基本运算。 (2)了解MATLAB语言进行离散序列运算的常用函数,掌握离散序列运算程序的编写方法。 二、实验涉及的MATLAB子函数 1.find 功能:寻找非零元素的索引号。 调用格…

BGP选路之Local Preference

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP首先比较的是路由信息的首选值(PrefVal),如果 PrefVal相同,就会比较本…

Linux_权限3

Linux所对应的文件类型 1.在Win下,有文件类型,通常通过后缀标识 日常用的就是windows系统这里不做举例. 2.Linux的文件类型不通过后缀区分(不代表Linux不用后缀) 其中需要注意的是第一个字符表示文件类型的含义 - :普通文件, 文本, 源代码…

解决:uniapp 小程序 使用swiper 内部嵌套另外一个拥有左右滑动组件导致滑动冲突

解决办法 在swiper-item 内增加这个属性进行包裹 touchmove.stop <div touchmove.stop><qiun-data-charts type"area" :opts"optsStg" :chartData"dateDataStg" /> </div>

嘉立创|如何在原理图中框选任意元件

点击编辑—选择对象—对边形内部 便可以任意框选 选中之后&#xff0c;进入pcb板界面也选中了相同器件

使用kali对操作系统和网络服务类型进行探测

1&#xff0e;在Kali终端中输入命令“nmap –sS –n -O 192.168.2.2”&#xff0c;探测目标主机的操作系统类型 2&#xff0e; 在Kali终端中输入命令“nmap –sV -n 192.168.2.2”&#xff0c;探测目标主机开启的网络服务类型 3.在Kali终端中输入命令“nmap –A -n 192.168.2.2…

Linux中的System V通信标准--共享内存、消息队列以及信号量

关于 System V 标准&#xff0c;一共有三种通信方式&#xff0c;分别为&#xff1a;共享内存、信号量和消息队列三种通信方式。本篇将较为详细的讲解三种通信方式的实现原理&#xff0c;以及介绍在 Linux 系统下调用这三种的通信方式的接口&#xff0c;其中以共享内存为例&…

.netcore TSC打印机打印

此文章给出两种打印案例&#xff0c; 第一种是单列打印&#xff0c;第二种是双列打印 需要注意打印机名称的设置&#xff0c;程序中使用的打印机名称为999&#xff0c;电脑中安装打印机时名称也要为999。 以下是我在使用过程中总结的一些问题&#xff1a; 一 TSC打印机使用使…

【区块链+绿色低碳】巴中市生态价值核算创新应用 | FISCO BCOS应用案例

生态产品总值&#xff08;GEP&#xff09;&#xff0c;指一定区域生态系统为人类福祉和经济社会可持续发展提供的产品与服务价值总和&#xff0c;包 括供给产品价值、调节服务价值和文化服务价值。当前&#xff0c;推动生态产品价值有效转化存在“难度量、难抵押、难交易、 难变…

【机器学习算法基础】(基础机器学习课程)-08-决策树和随机森林-笔记

一、决策树之信息论基础 决策树是一种用来做决策的工具&#xff0c;就像我们生活中的选择树。例如&#xff0c;你在选择今天穿什么衣服时&#xff0c;会根据天气情况、出行活动等进行判断。决策树的构建过程涉及一些信息论的概念&#xff0c;用来衡量和选择最好的“分叉点”来进…

Adobe Dimension(DN)安装包软件下载

目录 一、软件简介 二、软件下载 三、注意事项 四、软件功能 五、常用快捷键 快捷键&#xff1a; 一、软件简介 Adobe Dimension&#xff08;简称DN&#xff09;是Adobe公司推出的一款三维设计和渲染软件。与一般的3D绘图软件相比&#xff0c;DN在操作界面和功能上有所不…

Spark实时(一):StructuredStreaming 介绍

文章目录 StructuredStreaming 介绍 一、SparkStreaming实时数据处理痛点 1、复杂的编程模式 2、SparkStreaming处理实时数据只支持Processing Time 3、微批处理&#xff0c;延迟高 4、精准消费一次问题 二、StructuredStreaming概述 三、​​​​​​​​​​​​​​…

python使用 tkinter 生成随机颜色

先看效果: 只要不停点击底部的按钮&#xff0c;每次都会生成新的颜色。炫酷啊。 import random import tkinter import tkinter.messagebox from tkinter import Button# todo """ 1. 设置一个按钮&#xff0c;来让用户选择是否显示颜色值 2. 把按钮换成 Label…

《白话机器学习的数学》第2章——学习回归

2.1设置问题 1.机器学习所做的事情正是从数据中进行学习&#xff0c;然后给出预测值。 2.2定义模型 1.一次函数的表达式&#xff1a; 其中θ叫做参数。 在统计学领域&#xff0c;人们常常使用 θ 来表示未知数和推测值。采用 θ加数字下标的形式&#xff0c;是为了防止当未知数…

网络访问(Socket/WebSocket/HTTP)

概述 HarmonyOS为用户提供了网络连接功能&#xff0c;具体由网络管理模块负责。通过该模块&#xff0c;用户可以进行Socket网络通滚、WebSocket连接、HTTP数据请求等网络通信服务。 Socket网络通信&#xff1a;通过Socket(嵌套字)进行数据通信&#xff0c;支持的协议包括UDP核…