Python基础及函数解读(深度学习)

news2024/11/26 8:29:23

一、语句

1.加注释

单行注释:

(1)在代码上面加注释: # 后面跟一个空格

(2)在代码后面加注释:和代码相距两个空格, # 后面再跟一个空格

多行注释:按住shift + 点击三次"(英文状态下)

2.with...as...

with as 语句操作上下文管理器(context manager),它能够帮助我们自动分配并且释放资源。

二、导入

导入模块有两种常用方法 :import 语句和 from … import 语句

import XXX:导入模块,后调用此模块的ZZ方法时格式为XXX.ZZ()

from XXX import ZZ:ZZ为模块 XXX里的方法,后调用此模块中的ZZ方法时格式为ZZ()

(1条消息) 坑啊!为什么不建议用 from xxx import *!_菜鸟学Python的博客-CSDN博客

1.from __future__ import print_function

该语句是python2的概念,那么python3对于python2就是future了,也就是说,在python2的环境下,超前使用python3的print函数

2.import numpy as np

利用命令“import numpy as np”将numpy库取别名为“np”

3.from tensorboardX import SummaryWriter

是神经网络中的可视化工具

Pytorch中TensorBoard及torchsummary的使用详解 | w3c笔记 (w3cschool.cn)

4.import os

import os python环境下对文件,文件夹执行操作的一个模块

import os.path获取文件的属性

5.import torch.nn.functional as F

包含 torch.nn 库中所有函数

同时包含大量 loss 和 activation function

6.import argparse

(1条消息) argparse.ArgumentParser()用法解析_quantLearner的博客-CSDN博客_argparse.argumentparser() 参数

用来设置命令行参数,参数和超参数的区别:

超参数(Hyperparameter) - HuZihu - 博客园 (cnblogs.com)

三、一般函数解读

1.softplus()激活函数

softplus的数学表达式以及与Relu的函数对比,相当于Relu的平滑

2.forward()

将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。

3.os.path.join

用于路径拼接,注意/的运用

(2条消息) os.path.join()函数用法详解_swan777的博客-CSDN博客

import os
path='C:/yyy/yyy_data/'
print(os.path.join(path,'/abc'))
print(os.path.join(path,'abc'))
结果
C:/abc
C:/yyy/yyy_data/abc

4.shutil.rmtree()

递归地删除文件夹以及里面的文件

5.random.randint(start, stop)

返回指定范围内的整数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

6.enumerate()

四、torch函数解读

1.torch.tensor()

用来存储和变换数据

2.torch.sum()

对输入的tensor数据的某一维度求和,有两种方法,dim=0纵向求和,dim=1横向求和

(1条消息) torch.sum()、np.sum()和sum()简要介绍_np.sum torch.sum_两分先生的博客-CSDN博客

import torch
import numpy as np

a = torch.tensor([[1, 2, 3], [4, 5, 6]])
b = np.array([[1, 2, 3], [4, 5, 6]])
c = [1, 2, 3, 4, 5, 6]

print(torch.sum(a))
print(torch.sum(a, dim=0))
print(torch.sum(a, dim=1))
print(torch.sum(a, dim=1, keepdim=True))

print(np.sum(b))
print(np.sum(b, axis=0))
print(np.sum(b, axis=1))
print(np.sum(b, axis=1, keepdims=True))

print(sum(c))
print(sum(c, 1))
print(sum(c, 2))

结果
tensor(21)
tensor([5, 7, 9])
tensor([ 6, 15])
tensor([[ 6],
        [15]])
21
[5 7 9]
[ 6 15]
[[ 6]
 [15]]
21
22
23

3.torch.mul(a, b)

矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵;

(1条消息) Pytorch矩阵乘法之torch.mul() 、 torch.mm() 及torch.matmul()的区别_irober的博客-CSDN博客

a = torch.tensor([[1, 2, 3], [4, 5, 6]])
print(a[:, :])#获取矩阵的全部值
l_x = a[:, :].mul(a[:, :])#矩阵对应位相乘
print(l_x)

结果
tensor([[1, 2, 3],
        [4, 5, 6]])
tensor([[ 1,  4,  9],
        [16, 25, 36]])

4.torch.zeros()

返回一个由标量值0填充的张量

>>> torch.zeros(2, 3)
tensor([[ 0.,  0.,  0.],
        [ 0.,  0.,  0.]])

>>> torch.zeros(5)
tensor([ 0.,  0.,  0.,  0.,  0.])

5.torch.device()

代表将torch.tensor分配到的设备的对象(简单点说,就是分配到你的CPU还是GPU上,以及哪块GPU上)

6.lambda

函数的简化,可以直接赋给变量并调用

细说Python的lambda函数用法,建议收藏 - 知乎 (zhihu.com)

import torch
c=lambda x,y,z:x*y*z
print(c(2,3,4))
结果
24

7.torch.utils.data.DataLoader()

将数据加载到模型

(2条消息) PyTorch学习笔记(6)——DataLoader源代码剖析_sooner高的博客-CSDN博客_woker_init_fn

8.Tensorboard:SummaryWriter类

可以看训练过程中loss的变化。之前用于Tensorflow框架,自Pytorch1.1之后,Pytorch也加了这个功能

writer1=SummaryWriter('runs/exp')#将loss值存储到此路径中

Pytorch深度学习实战教程(四):必知必会的炼丹法宝 - 知乎 (zhihu.com)

9.torch.optim.SGD()

随机梯度下降算法,parameters为待优化参数的iterable(w和b的迭代),lr为学习率

optim.SGD(pnet.parameters(), lr=opt.lr, momentum=opt.momentum)

(3条消息) torch.optim.SGD()_echo_gou的博客-CSDN博客_torch.optim.sgd

10.torch.optim.lr_scheduler

torch.optim.lr_scheduler模块提供了一些根据epoch训练次数来调整学习率(learning rate)的方法。一般情况下我们会设置随着epoch的增大而逐渐减小学习率从而达到更好的训练效果。

常见的调整策略:

史上最全学习率调整策略lr_scheduler - cwpeng - 博客园 (cnblogs.com)

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

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

相关文章

蓝桥杯刷题023——机器人塔(DFS)

2016国赛 题目描述 X 星球的机器人表演拉拉队有两种服装,A 和 B。 他们这次表演的是搭机器人塔。 类似: A B B A B A A A B B B B B A B A B A B B A 队内的组塔规则是: A 只能站在 AA 或 BB 的肩上。 B 只能站在 AB 或 BA 的肩上。 你的任务…

擎创动态 | 定了!建设银行首批生态合作伙伴

1月31日,建设银行以“云行金融之道,建可信未来”为主题在北京举办“建行云”发布会,首批推出三大类10个云服务套餐,为行业提供一站式解决方案。发布会上,建设银行推出“云霄”生态合作计划并公布首批39家“建行云”生态…

基于vue-admin-element开发后台管理系统【技术点整理】

一、Vue点击跳转外部链接 点击重新打开一个页面窗口,不覆盖当前的页面 window.open(https://www.baidu.com,"_blank")"_blank" 新打开一个窗口"_self" 覆盖当前的窗口例如:导入用户模板下载 templateDownload() {wi…

化繁为简|中信建投基于StarRocks构建统一查询服务平台

近年来,在证券服务逐渐互联网化,以及券商牌照红利逐渐消退的行业背景下,中信建投不断加大对数字化的投入,尤其重视数据基础设施的建设,期望在客户服务、经营管理等多方面由经验依赖向数据驱动转变,从而提高…

面试阿里测开岗,面试官说我不配24K,当场拍桌子翻脸....

好家伙,这奇葩事可真是多,前两天和粉丝聊天,他说前段时间面试阿里的测开岗,最后和面试官干起来了。 我问他为什么,他说没啥,就觉得面试官太装了,我说要24K,他说太高了,说…

中国区注册OpenAI账号试用ChatGPT指南

OpenAI最近推出ChatGPT,但国内(包括香港)并不支持OpenAI账号注册,多数会提示: OpenAI’s services are not available in your country. 前期准备 科学上网,最好是美国IP(可以购买v屁n&#xf…

章鱼哥听歌

uboot环境变量 以下所有的命令,都在串口工具进行执行 ubifsmount- mount UBIFS volume ubifsumount- unmount UBIFS volume ums - Use the UMS [USB Mass Storage] usb - USB sub-system usbboot - boot from USB device version - print monit…

EasyX精准帧率控制打气球小游戏

🎆音乐分享 New Boy —— 房东的猫 之前都用Sleep()来控制画面帧率,忽略了绘制画面的时间 如果绘制画面需要很长的时间,那么就不能忽略了。 并且Sleep()函数也不是特别准确,那么就…

day3——有关java运算符的笔记

今天主要学习的内容有java的运算符 赋值运算符算数运算符关系运算符逻辑运算符位运算符(专门写一篇笔记)条件运算符运算符的优先级流程控制 赋值运算符 赋值运算符()主要用于给变量赋值,可以跟算数运算符相结合&…

【✨十五天搞定电工基础】基本放大电路

本章要求1. 理解放大电路的放大作用和共发射极放大电路的性能特点; 2. 掌握静态工作点的估算方法和放大电路的微变等效电路分析法; 3. 了解放大电路输入、输出电阻和电压放大倍数的计算方法,了解放大电路的频率特性、 互补功率放大…

八、STM32串口通信

目录 一、串口通信 1.1串口通信物理层 1.2USB转串口模块 1.3串口通信的其他应用 1.4串口数据包的基本组成 二、串口的结构体与函数讲解 2.1串口讲解 2.2结构体讲解 2.3串口初始化函数讲解 三、串口发送字符 3.1如何配置串口的发送 3.2项目实战 四、串口的中断接收 …

一文搞懂 什么是CPU上下文?为什么要切换?如何减少切换?

最近经常有小伙伴问到的一些问题,比较集中的是关于CPU切换. 实际用C/C,go开发,你会特别注意内存和CPU的使用情况,那些对于CPU使用情况特别关注,或者性能特别关注的朋友可以看看这篇文章,相信看完结尾的示例…

二、Linux文件 - Open函数讲解实战

目录 1.Open函数讲解 2.open函数实战 2.1 man 1 ls 查询Shell命令 2.2 man 2 open 查看系统调用函数 2.3项目实战 2.3.1O_RDWR和O_CREAT 2.3.2O_APPEND的用法 1.Open函数讲解 高频使用的Linux系统调用:open write read close Linux自带的工具&#xf…

C语言实现五子棋(n子棋)

五子棋的历史背景: 五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。五子棋容易上手&#xff0c…

c/c++开发,无可避免的文件访问开发案例

一、缓存文件系统 ANSI C标准中的C语言库提供了fopen, fclose, fread, fwrite, fgetc, fgets, fputc, fputs, freopen, fseek, ftell, rewind等标准函数,这些函数在不同的操作系统中应该调用不同的内核API,从而支持开发者跨平台实现对文件的访问。 在Lin…

【九宫格坐标排列 Objective-C语言】

一、这个案例做好之后的效果如图: 1.这个下载是可以点击的,当你点击之后,弹出一个框,过一会儿,框框自动消失,这里变成“已安装” 2.那么,我现在先问大家一句话:大家认为在这一个应用里面,它包含几个控件, 3个,哪3个:一个是图片框,一个是Label,一个是按钮, 这…

python学习笔记-查看数据结构、均值、中位数、分位数、众数、离中趋势(标准差、方差、求和、偏态系数、风险系数)正态分布pdf、cdf、ppf

①引入pandas包,命名为pd。 import pandas as pd ②读入HR.csv数据 dfpd.read_csv(“./data/HR.csv”) ③查看是什么结构 type(df) ④查看单个类别satisfaction_level的数据结构 type(df[“satisfaction_level”]) ⑤查看均值的数据结构 type(df.mean()) …

运行Whisper笔记(1)

最近chatGPT很火,就去逛了一下openai的github项目。发现了这个项目。 这个项目可以识别视频中的音频,转换出字幕。 带着一颗好奇的心就尝试自己去部署玩一玩 跟着这篇文章一步步来进行安装,并且跟着这篇文章解决途中遇到的问题。 途中还会遇…

男,26岁,做了一年多的自动化测试,最近在纠结要不要转行,求指点。?

最近一个粉丝在后台问我,啊大佬我现在26了,做了做了一年多的自动化测试,最近在纠结要不要转行,求指点。首选做IT这条路,就是很普通的技术蓝领。对于大部分来说干一辈子问题不大,但是发不了什么财。如果你在…

第015天:将APP发布到应用商店(完结)

应用已经开发出来了,下一步我们需要思考推广方面的工作。那么如何才能让更多的用户知 道并使用我们的应用程序呢?在手机领域,最常见的做法就是将程序发布到某个应用商店中,这 样用户就可以通过商店找到我们的应用程序,…