Python学习(一)——配套《PyTorch深度学习实战》
记录一下Python学习过程中的一些问题:
1. 在JupyterLab中查询当前文件的地址
import os
print(os.getcwd())
#查询该文件的地址
2. 新建cell
在 JupyterLab 中新建一个单元格(cell)的方法有多种,以下是一些常用的方法:
- 使用快捷键:
B:在当前单元格下方新建一个单元格。A:在当前单元格上方新建一个单元格。
实测有效,虽然看起来挺神奇的,确实方便
使用工具栏按钮:
- 在工具栏上,你可以找到用于添加单元格的按钮。通常,这些按钮位于工具栏的中间部分,看起来像是一个带有加号的单元格图标。
使用右键菜单:
- 在工作区的空白处或者在已有单元格的边缘右键点击,然后选择“Insert Cell Above”或“Insert Cell Below”来在相应位置插入新单元格。
使用命令面板:
- 点击工具栏上的 "Commands" 图标(或者使用快捷键
Ctrl+Shift+P),在命令面板中搜索 "Insert Cell Below" 或 "Insert Cell Above" 并选择它。
- 点击工具栏上的 "Commands" 图标(或者使用快捷键
拖拽单元格:
- 你可以将一个单元格拖拽到工作区的空白处,然后释放鼠标,这将在该位置创建一个新的单元格。
使用菜单:
- 在 JupyterLab 的菜单栏中,点击 "Insert",然后选择 "Insert Cell Below" 或 "Insert Cell Above"。
使用侧边栏:
- 在 JupyterLab 的侧边栏中,点击 "+" 图标,然后选择 "Code" 或 "Markdown" 来创建一个新的单元格。
使用拖拽文件:
- 你也可以将一个
.py或.ipynb文件拖拽到 JupyterLab 的工作区中,这将创建一个新的单元格或打开一个新笔记本。
- 你也可以将一个
选择适合你的方法来新建单元格,然后你就可以在新单元格中输入代码或 Markdown 文本了。
3. 集合、列表、元祖的区别
在 Python 中,集合(set)、列表(list)和元组(tuple)是三种不同的数据结构,它们各自有不同的特性和用途:
列表(List):
- 列表是可变的,这意味着你可以在创建后修改它们(添加、删除或更改元素)。
- 列表可以包含重复的元素。
- 列表是有序的,即它们保持元素插入的顺序。
- 列表可以包含不同类型的元素。
- 列表支持索引和切片操作。
- 列表的典型用法包括创建一个有序的元素集合,或者当你需要修改集合中的元素时。
元组(Tuple):
- 元组是不可变的,一旦创建就不能修改(不能添加、删除或更改元素)。
- 元组可以包含重复的元素。
- 元组也是有序的,并且支持索引和切片操作。
- 元组可以包含不同类型的元素。
- 元组通常用于存储不应该改变的数据。
- 元组是创建不可变集合的推荐方式,它们还可以用作字典的键(因为字典的键必须是不可变的)。
集合(Set):
- 集合是无序的,这意味着集合中的元素没有固定的顺序,并且可能会在每次迭代时改变。
- 集合是可变的,你可以添加或删除元素。
- 集合不能包含重复的元素,每个元素都是唯一的。
- 集合不支持索引操作,因为它们是无序的。
- 集合的典型用法包括消除重复元素、进行集合运算(如并集、交集、差集)。
- 集合是不可哈希的,因此不能用作字典的键。
以下是一些示例:
# 列表
my_list = [1, 2, 3, 4, 5]
my_list.append(6) # 添加元素
my_list[1] = 20 # 修改元素
# 元组
my_tuple = (1, 2, 3, 4, 5)
# my_tuple[1] = 20 # 这会引发 TypeError,因为元组是不可变的
# 集合
my_set = {1, 2, 3, 4, 5}
my_set.add(6) # 添加元素
# my_set[1] # 这会引发 TypeError,因为集合不支持索引
选择使用哪种数据结构取决于你的具体需求,比如是否需要有序性、是否允许重复元素、是否需要修改集合等。
4. 张量的二维表达是矩阵
张量(Tensor)和矩阵(Matrix)是线性代数中的两个概念,它们有一定的联系,但在维度和应用上有所不同。
矩阵:
- 矩阵是一个二维数组,由行和列组成,可以看作是特殊的张量。
- 矩阵中的元素通常用两个索引来访问,如 ( a_{ij} ),其中 ( i ) 表示行索引,( j ) 表示列索引。
- 矩阵在数学、物理学和工程学中有广泛的应用,特别是在线性变换、系统方程和图形变换等领域。
张量:
- 张量是多维数组的推广,可以有任意数量的维度。例如,0维张量是一个标量,1维张量是一个向量,2维张量是一个矩阵。
- 张量中的元素可以用多个索引来访问,如 ( a_{ijk} ),其中 ( i )、( j ) 和 ( k ) 分别表示不同维度的索引。
- 张量在物理学中用于描述具有多个分量的物理量,如应力、应变等。在深度学习中,张量用于表示数据和权重,可以是多维的,以适应不同的网络结构和计算需求。
在深度学习和计算机科学中,张量的概念被广泛使用,尤其是在以下领域:
- 神经网络:张量用于表示网络的输入、输出和权重。
- 图像处理:图像可以表示为三维张量(高度、宽度、颜色通道)。
- 自然语言处理:文本数据可以表示为张量,用于模型的输入和处理。
在 PyTorch 和 TensorFlow 等深度学习框架中,张量是核心数据结构,它们提供了对多维数组的高效操作,并且可以利用 GPU 加速计算。这些框架中的张量操作通常包括基本的数学运算、矩阵乘法、卷积、池化等。
Python学习(一)——配套《PyTorch深度学习实战》的更多相关文章
- Python自然语言处理实战核心技术与算法,Python自然语言处理,PyTorch深度学习实战【下载】
本人买的,无私贡献给大家,无解压密码 下载地址: 链接:https://pan.baidu.com/s/1cJtnhEQSXHVMgygr8PHh9A 提取码:a54u
- 对比学习:《深度学习之Pytorch》《PyTorch深度学习实战》+代码
PyTorch是一个基于Python的深度学习平台,该平台简单易用上手快,从计算机视觉.自然语言处理再到强化学习,PyTorch的功能强大,支持PyTorch的工具包有用于自然语言处理的Allen N ...
- 基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境
基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境 前言一.环境准备环境介绍软件下载VMware下安装UbuntuUbuntu下Anaconda的安 ...
- PyTorch深度学习实践——反向传播
反向传播 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 目录 反向传播 笔记 作业 笔记 在之前课程中介绍的线性 ...
- PyTorch深度学习实践——多分类问题
多分类问题 目录 多分类问题 Softmax 在Minist数据集上实现多分类问题 作业 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩 ...
- PyTorch深度学习实践——处理多维特征的输入
处理多维特征的输入 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 这一讲介绍输入为多维数据时的分类. 一个数据集 ...
- SIGAI深度学习第四集 深度学习简介
讲授机器学习面临的挑战.人工特征的局限性.为什么选择神经网络.深度学习的诞生和发展.典型的网络结构.深度学习在机器视觉.语音识别.自然语言处理.推荐系统中的应用 大纲: 机器学习面临的挑战 特征工程的 ...
- 【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?
0x00 PyTorch是什么? PyTorch是一个基于Python的科学计算工具包,它主要面向两种场景: 用于替代NumPy,可以使用GPU的计算力 一种深度学习研究平台,可以提供最大的灵活性 ...
- Python学习(二)——深度学习入门介绍
课程二:深度学习入门 讲师:David (数据分析工程师) 这门课主要介绍了很多神经网络的基本原理,非常非常基础的了解. 零.思维导图预览: 一.深度神经网络 1.神经元 ...
- 【PyTorch深度学习】学习笔记之PyTorch与深度学习
第1章 PyTorch与深度学习 深度学习的应用 接近人类水平的图像分类 接近人类水平的语音识别 机器翻译 自动驾驶汽车 Siri.Google语音和Alexa在最近几年更加准确 日本农民的黄瓜智能分 ...
随机推荐
- antdesign vue 步骤条a-step按审核人员节点排序显示逻辑
一.需求内容 目前审核人员角色有:学术.法务.售后,串行执行审核流程. 审核流程:发起/修改审核->审核节点 审核节点规则:学术->法务->售后,每个节点均可以审核或修改. 审核状态 ...
- git安装-Tortoise git 安装汉化教程
1.首先下载 去官网下载 如果下载比较慢的,链接自取 https://pan.quark.cn/s/fcb9d0b39c7f 2. 安装git 3. 安装git图形化工具Tortoise git 4. ...
- 认识鸿蒙Context
Context是应用中对象的上下文,其提供了应用的一些基础信息,例如resourceManager(资源管理).applicationInfo(当前应用信息).dir(应用文件路径).area(文件分 ...
- 每秒550万亿次算力!打破世界纪录!中国造全球首例纯电驱全尺寸人形机器人!直击全球最快人形机器人“天工”The world's first purely electric humanoid robot
地址: https://www.youtube.com/watch?v=uRc-885NpD4
- uni app下开发AI运动小程序解决方案
一.引言 近年来,随着AI视频识别技术的飞速发展,市场上涌现出了众多基于视觉识别的AI运动APP.这些APP凭借AI视觉识别技术的强大能力,让用户只需面对摄像头进行运动锻炼,就能享受到智能计时.精准计 ...
- pydotplus使用
pydotplus是别的语言嫁接到python里面的,所以绘制要传入字符串形式表示的结构,而没有python的结构对象直接用来画.代码如下: import pydotplus as pdp graph ...
- Java深度历险(一)——Java字节代码的操纵
[编者按]Java作为业界应用最为广泛的语言之一,深得众多软件厂商和开发者的推崇,更是被包括Oracle在内的众多JCP成员积极地推动发展.但是对于Java语言的深度理解和运用,毕竟是很少会有人涉及的 ...
- MySQL数据库设计规范(新)
目录 规范背景与目的 设计规范2.1 数据库设计2.1.1 库名2.1.2 表结构2.1.3 列数据类型优化2.1.4 索引设计2.1.5 分库分表.分区表2.1.6 字符集2.1.7 程序DAO层设 ...
- .NET周刊【11月第4期 2024-11-24】
国内文章 C# 入门深度学习:万字长文讲解微积分和梯度下降 https://www.cnblogs.com/whuanle/p/18551532 这篇文章主要介绍了使用 C# 进行深度学习的方法,特别 ...
- 渗透测试-Kioptix Level 1靶机getshell及提权教程
声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无 ...