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

news2024/11/15 19:30:02

keras官方中文文档

pip install keras

from keras import layers
from keras import models

model.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.coloradmin.cn/o/1944280.html

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

相关文章

libtins初探-抓包嗅探

libtin 一、概述1. 可移植性2. 特性 二、基础知识1. PDU2. 地址类3. 地址范围类4. 网络接口5. 写pcap文件 三、嗅探1.嗅探基础2. 嗅探器配置3. 循环嗅探4. 使用迭代器嗅探6. 包对象7. 读取pcap文件8. 包的解析 四、发送包1. 发送网络层pdu2. 发送链路层pdu3. 发送和接收响应校验…

【第一天】计算机网络 TCP/IP模型和OSI模型,从输入URL到页面显示发生了什么

TCP/IP模型和OSI模型 这两个模型属于计算机网络的体系结构。 OSI模型是七层模型,从上到下包括: 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层 TCP/IP模型是四层模型&…

BGP选路之Next Hop

原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定出去往该目标网络的最优BGP路由,然后将该最优BGP路由与去往同一目标网络的其他协议路由进行比较,从而决定是否将该最优BGP路由放进P路由表中…

PCB工艺边设计准则

在PCB设计时,通常会在电路板的边缘预留一定的空间,这部分空间被称为工艺边。它有助于在生产过程中确保电路板的尺寸和形状的准确性。以使得组装时更加顺畅、便捷。而工艺边的加工,使得线路板上的元件可以精准地与设备对接,从而提高…

C++学习笔记-operator关键字:重载与自定义操作符

在C编程中,operator关键字扮演着极其重要且独特的角色。它允许开发者为内置类型或自定义类型重载或定义新的操作符行为。这一特性极大地增强了C的表达能力,使得代码更加直观、易于理解和维护。本文将深入探讨C中operator关键字的使用,包括操作…

【ffmpeg命令入门】ffplay常用命令

文章目录 前言ffplay的简介FFplay 的基本用法常用参数及其作用示例 效果演示图播放普通视频播放网络媒体流RTSP 总结 前言 FFplay 是 FFmpeg 套件中的一个强大的媒体播放器,它基于命令行接口,允许用户以灵活且高效的方式播放音频和视频文件。作为一个简…

vscode 寻找全部分支的提交

vscode 寻找全部分支的提交 Git Graph

UE5 C++跑酷练习(Part2)

一.首先GameMode里有Actor数组,组装直线路,和左右路 #include "CoreMinimal.h" #include "GameFramework/GameModeBase.h" #include "RunGANGameMode.generated.h"UCLASS(minimalapi) class ARunGANGameMode : public AG…

【目录】8051汇编与C语言系列教程

8051汇编与C语言系列教程 作者将狼才鲸创建日期2024-07-23 CSDN文章地址:【目录】8051汇编与C语言系列教程本Gitee仓库原始地址:才鲸嵌入式/8051_c51_单片机从汇编到C_从Boot到应用实践教程 一、本教程目录 序号教程名称简述教程链接1点亮LCD灯通过IO…

【技术支持案例】使用S32K144+NSD8381驱动电子膨胀阀

文章目录 1. 前言2. 问题描述3. 理论分析3.1 NSD8381如何连接电机3.2 S32K144和NSD8381的软件配置 4.测试验证4.1 测试环境4.2 测试效果4.3 测试记录 1. 前言 最近有客户在使用S32K144NSD8381驱动电子膨胀阀时,遇到无法正常驱动电子膨胀阀的情况。因为笔者也是刚开…

分享一个Springer模板关于论文作者和单位信息的修改范例,以及Applied Intelligence期刊latex模板的下载链接

在这篇文章中,我写一些关于解决springer期刊提供的LaTex模板参考文献格式为作者年份时的顺序问题以及如何在正文中将参考文献格式引用成[1]这种数字格式类似的经验,该篇帖子里还分享了一个大佬关于springer模板完整的修改流程,有需要的伙伴可…

如何实现可视化、智能化、自动化的文件采集?一文了解

内部数据文件采集需求在多个行业中都非常重要,以下是一些涉及此场景需求的行业: 1.大数据行业:随着大数据的行业应用不断深入,物联网、智能家居、数字政务等领域的大数据技术应用逐渐成熟,数据采集的需求也将被逐步激…

0723,UDP通信(聪明小辉聪明小辉),HTTP协议

我就是一个爱屋及乌的人!!!! #include "network_disk_kai.h" 昨天的epoll: 可恶抄错代码了 epoll_s.csockect return listenfdsetsockoptsockaddr_in bind listenfd & serveraddr…

Zilliz 推出 Spark Connector:简化非结构化数据处理流程

随着人工智能(AI)和深度学习(Deep Learning)技术的高速发展,使用神经网络模型将数据转化为 Embedding 向量 已成为处理非结构化数据并实现语义检索的首选方法,广泛应用于搜索、推荐系统等 AI 业务中。 以生…

Windows 11+Visual Studio 2022 环境OpenCV+CUDA 12.5安装及踩坑笔记

周六日在家捣腾了一下,把过程记录下来。 前置条件 Visual Studio C 生成工具和本机显卡适配的CUDA与CUDA匹配的cuDNNPython 3NumPyOpenCV源代码以及对应版本的OpenCV-contrib模块源码CMake Visual Studio 下载Visual Studio(我本机的是VS2022&#xf…

虚拟局域网配置与分析-VLAN

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户;不受物理位置的…

二、【Python】入门 - 【PyCharm】安装教程

往期博主文章分享文章: 【机器学习】专栏http://t.csdnimg.cn/sQBvw 目录 第一步:PyCharm下载 第二步:安装(点击安装包打开下图页面) 第三步:科学使用,请前往下载最新工具及教程&#xff1a…

前端:Vue学习-3

前端:Vue学习-3 1. 自定义指令2. 插槽2.1 插槽 - 后备内容(默认值)2.2 插槽 - 具名插槽2.3 插槽 - 作用域插槽 3. Vue - 路由3.1 路由模块封装3.2 声明式导航 router-link 高亮3.3 自定义匹配的类名3.4 声明式导肮 - 跳转传参3.5 Vue路由 - 重…

C#初级——条件判断语句和循环语句

条件判断语句 简单的条件判断语句&#xff0c;if()里面进行条件判断&#xff0c;如果条件判断正确就执行语句块1&#xff0c;如果不符合就执行语句块2。 if (条件判断) { 语句块1 } else { 语句块2 } int age 18;if (age < 18){Console.WriteLine("未…

Python面试宝典第18题:单词搜索

题目 给定一个m x n的二维字符网格board和一个字符串单词word。如果word存在于网格中&#xff0c;返回true。否则&#xff0c;返回false。单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成。所谓相邻单元格&#xff0c;是那些水平相邻或垂直相邻的单元格。 备注&…