当前位置: 首页 > news >正文

Python小知识点

Python小知识点

文章目录

  • Python小知识点
    • 一、Python
    • 二、Pytorch
      • 1. torch.squeeze()
      • 2. torch.unsqueeze()
      • 3. torch.nn.functional.interpolate()
      • 4. view()
      • 5. torch.nn.function.kl_div()
    • 三、Opencv
    • 四、TensorFlow

最近发现好多东西经常不用就忘记了,所以写一篇,随手记录,并且不定时更新自己高频用到的,或者比较重要的小知识点

一、Python

二、Pytorch

1. torch.squeeze()

对张量降维

torch.squeeze(input, dim=None, out=None)

当dim没有设置时,默认为None,将输入张量形状中的1去除并返回,如果原始形状是(AB1C1D),输出的形状是(ABCD)。当给定dim时,那么squeeze只发生在给定的维度上 (并且该维度必须为1),例如:输入形状是(A1B),如果squeeze(input,0),则张量不会变,只有用squeeze(input,1)形状才会变为(A*B)

2. torch.unsqueeze()

用于扩展张量维度 (1维变2维,2维变3维…),返回一个新的张量,对输入的既定位置插入维度1

torch.unsqueeze(input, dim, out=None)
# input(tensor): 输入张量
# dim(int):插入维度的索引
# out(tensor/optional):结果为张量

3. torch.nn.functional.interpolate()

实现插值和上采样
可以简单的理解为任何可以让你的图像变成更高分辨率的技术,最简单的方法是重采样和插值。

torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None)
# input(tensor):输入张量
# size(int or Tuple[int] or Tuple[int, int] or Tuple[int, int, int]): 输出大小.
# scale_factor (float or Tuple[float]):指定输出为输入的多少倍数。如果输入为tuple,也要制定为tuple类型
# mode (str):可使用的上采样算法,有’nearest’, ‘linear’, ‘bilinear’, ‘bicubic’ , ‘trilinear’和’area’. 默认使用’nearest’
# align_corners (bool, optional) :如果align_corners=True,则对齐 input 和 output 的角点像素(corner pixels),保持在角点像素的值. 只会对 mode=linear, bilinear 和 trilinear 有作用. 默认是 False.

可用于重置大小的mode有:最近邻、线性(3D-only),、双线性, 双三次(bicubic,4D-only)和三线性(trilinear,5D-only)插值算法和area算法

4. view()

view是改变tensor的形状,返回具有相同数据但大小不同的新张量。

5. torch.nn.function.kl_div()

计算两个矩阵之间的kl散度

loss = F.kl_div(input,label,reduction,name)
# input:输入张量
# label:输入张量
# reduction:(可选)可用类型为‘none’ | ‘batchmean’ | ‘mean’ | ‘sum’,‘none’表示无reduction,‘batchmean’ 表示输出的总和除以批大小,‘mean’ 表示所有输出的平均值,‘sum’表示输出的总和。
# name(可选)

注:第一个参数传入的是对数概率矩阵,第二个参数是概率矩阵。
KL散度具有不对称性,存在一个指导和被指导的关系,因此input和label之间的顺序需要确定。如果想要label知道input,第一个参数要传input,即被指导的放在前面,之后求相应的概率和对数概率就行

三、Opencv

四、TensorFlow

相关文章:

  • 目标检测 YOLOv5 - 最新版本v6.2模型在瑞芯微 Rockchip设备上运行的方案
  • Android 项目必备(三十)-->从 0 到 1 开发一个属于自己的 App
  • led灯珠型号及使用参数
  • MYSQL介绍——数据库的增删改及常用函数
  • 线性单功能PEG试剂甲氧基-聚乙二醇-丙烯酰胺,mPEG-Acrylamide,mPEG-ACA
  • 洛谷P3694
  • b站pink老师Echarts数据可视化笔记
  • 计算机三级数据库运行维护与优化(四)、合理使用索引、数据库存储结构和存取方法优化、完全规范化、索引的使用原则、、网络优化、监控内容、物化视图
  • HDMI/DVI____串行发送器
  • 深度操作系统 15.2——怀揣梦想,笃定前行
  • SAP PI PO 接口配置主体传播 RSXMB_CONFIG_PP_NEW
  • Python编程基础:函数的使用
  • 19.请介绍一下重绘和回流
  • Flink / Scala - AllWindowFunction 与 KeyedProcessFunction 处理 TopK 问题
  • C++20之Concpet(概念部分,之二)
  • git 常用命令
  • Gradle 5.0 正式版发布
  • JavaScript 一些 DOM 的知识点
  • Java程序员幽默爆笑锦集
  • js学习笔记
  • mongodb--安装和初步使用教程
  • Mysql优化
  • Netty源码解析1-Buffer
  • OSS Web直传 (文件图片)
  • Python进阶细节
  • Python中eval与exec的使用及区别
  • V4L2视频输入框架概述
  • VUE es6技巧写法(持续更新中~~~)
  • 第十八天-企业应用架构模式-基本模式
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 深度学习入门:10门免费线上课程推荐
  • 什么是Javascript函数节流?
  • 通过git安装npm私有模块
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​力扣解法汇总946-验证栈序列
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (C++17) std算法之执行策略 execution
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (接口封装)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .axf 转化 .bin文件 的方法
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net core 依赖注入的基本用发
  • .net Stream篇(六)
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • @private @protected @public
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现