动手学深度学习一:环境安装与数据学习

2024,重新开始深度学习。
第一步:李沐动手学深度学习
课程网址:https://courses.d2l.ai/zh-v2/
包含教材和视频网址链接

Jupyter notebook安装

目前在本地先使用cpu版本pytorch,我的本地已经安装好conda,跟着教材创建虚拟环境并下载d2l工具包

创建虚拟环境

conda create --name d2l python=3.9 -y
conda activate d2l

配置pip清华源,否则接下来安装torch容易超时报错

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==1.12.0
pip install torchvision==0.13.0
mkdir d2l-zh && cd d2l-zh

解压工具包

unzip d2l-zh.zip && rm d2l-zh.zip
cd pytorch

将虚拟环境注入jupyter notebook

conda install ipykernel
python -m ipykernel install --user --name d2l --display-name d2l

运行

jupyter notebook

测试环境与学习数据操作

1.torch张量的广播机制
疑问点:这个操作有什么好处?感觉容易引入很难被发现的问题
为了避免张量广播机制引发的错误,可以采取以下几种方法:

  1. 显式地调整张量的形状:可以使用torch.reshape()函数或者tensor.view()方法来显式地调整张量的形状,使其符合广播规则。通过调整张量的形状,可以确保在进行元素级操作时,张量的维度是兼容的。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 显式地调整张量的形状
tensor_2_expanded = tensor_2.expand(3, 4)  # 扩展为3*4的张量

# 进行元素级操作
tensor = tensor_1 + tensor_2_expanded

print(tensor)
  1. 使用torch.unsqueeze()函数:可以使用torch.unsqueeze()函数在指定的维度上增加一个维度,以满足广播规则。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 在第二个维度上增加一个维度
tensor_2_expanded = torch.unsqueeze(tensor_2, dim=0)  # 扩展为1*3*1的张量

# 进行元素级操作
tensor = tensor_1 + tensor_2_expanded

print(tensor)
  1. 使用torch.broadcast_to()函数:可以使用torch.broadcast_to()函数将张量广播到指定的形状,以满足广播规则。
import torch

tensor_1 = torch.ones(2, 3, 4)  # 2*3*4
tensor_2 = torch.ones(3, 1)  # 3*1

# 将tensor_2广播到2*3*4的形状
tensor_2_broadcasted = torch.broadcast_to(tensor_2, (2, 3, 4))

# 进行元素级操作
tensor = tensor_1 + tensor_2_broadcasted

print(tensor)

2.数据处理pandas的操作-处理缺失数据
pandas加载csv
将非缺失值的均值作为缺失值
isna输出缺失值矩阵
在这里插入图片描述
使用sum统计每一列的缺失值个数
在这里插入图片描述
使用idxmax得到最大值的索引
在这里插入图片描述
使用drop删除含缺失值最多的列
在这里插入图片描述
参考博客:
https://blog.csdn.net/qq_41084438/article/details/102862300
https://blog.csdn.net/wxyczhyza/article/details/120821510
https://blog.csdn.net/2301_76381099/article/details/129228928

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 中的 ref 与 reactive:让你的应用更具响应性(中)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Spring高手之路-Spring中Bean的五大作用域

目录 Singleton(单例):默认的作用域 Prototype(原型) Request(请求) Session(会话) Global Session(全局会话) 五大作用域范围对比 作用域…

Jenkins持续集成(下篇)

(四)Jenkins 配置构建执行状态 运行构建 在项目 左侧列表点击 “立即构建” ,在 “Build History” 列表,你会得到一个红色的小圆点,表示构建失败。 点击 构建失败的任务(红色的小圆点)。然后点…

Python用selenium实现自动登录和下单的项目实战

前言 学python对selenium应该不陌生吧 Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动…

Java 语言概述

Java 概述 是 SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言 是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序&am…

专题一_双指针(一)

文章目录 283.移动零题目解析讲解算法原理扩展编写代码 1089.复习零题目解析讲解算法原理编写代码 202.快乐数题目解析讲解算法原理证明编写代码 11.盛最多水的容器题目解析讲解算法原理暴力解法优秀的解法时间复杂度分析 编写代码 283.移动零 题目链接 题目解析 题目还是比较…

成为一名合格的前端架构师,前端知识技能与项目实战教学

一、教程描述 本套前端架构师教程,大小35.94G,共有672个文件。 二、教程目录 01.node介绍和环境配置(共6课时) 02.ES6语法(共5课时) 03.node基础(共29课时) 04.Express框架&am…

大数据Doris(四十九):Doris数据导出介绍

文章目录 Doris数据导出介绍 一、​​​​​​​使用示例

Hive生产调优介绍

1.Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。 在hive-default.xml…

SpingBoot的项目实战--模拟电商【4.订单及订单详情的生成】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringBoot电商项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.功能需求 二.代码编写 …

2023最大技术潮:大模型冲击下的智能汽车

作者 |德新 编辑 |王博 过去这年最大的技术潮,非大模型莫属。 2023年初,由ChatGPT掀起的浪花,迅速地演变成了席卷全球的AI科技浪潮。汽车行业在其中也不可避免。各大车企纷纷投入与大模型相关的布局。 长城官宣成立了AI Lab,到…

Python从入门到精通之元类

系列 Python从入门到精通之安装与快速入门-CSDN博客 Python从入门到精通之基本数据类型和变量-CSDN博客 Python从入门到精通之集合(List列表、Tuple元组、Dict字典、Set)-CSDN博客 Python从入门到精通之条件语句、循环语句和函数-CSDN博客 Python从…

Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…

Character Controller Smooth

流畅的角色控制器 Unity的FPS解决方案! 它是一种具有非常平滑运动和多种设置的解决方案: - 移动和跳跃 - 坐的能力 - 侧翻角度 - 不平整表面的处理 - 惯性守恒 - 重力 - 与物理物体的碰撞。 - 支持没有家长控制的平台 此解决方案适用于那些需要角色控制器…

蓝桥圣诞树(C++)

问题描述 输入样例: 1 3 101 1 2 2 3 输出样例: YES 思路: 这道题还是比较好想的,因为它构造的二叉树是用边连接起来的,不是像之前一样从上到下从左到右按编号构造的,所以可以用邻接表来存每个点还有边&am…

【JAVA】AI医疗导诊系统源码

智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件,它能够通过对患者的症状、病史等信息进行计算分析,快速推荐科室和医生。通过简单的描述自身症状,系统即可找到最适合的科室,实现线上高效挂号,线下门诊…

drf知识--10

接口文档 # 后端把接口写好后: 登录接口:/api/v1/login ---> post---name pwd 注册接口 查询所有图书带过滤接口 # 前后端需要做对接,对接第一个东西就是这个接口文档,前端照着接口文档开发 公司3个人&#xff…

性能测评高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘

阿里云服务器系统盘或数据盘支持多种云盘类型,如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等,阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

数据库中的几种锁

数据库锁 1.数据库锁的种类 以 mysql innoDB 为例,数据库的锁有 排他锁,共享锁,意向锁,自增锁,间隙锁,锁的范围有包括,行锁,表锁 ,区间锁。 从应用研发的视角&#xff…

Linux 进程和计划任务管理

一 内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具 用于描述进程要完成的功能,是控制进程执行的指令集 2…