草庐IT

Pytorch计算余弦相似度距离——torch.nn.CosineSimilarity函数中的dim参数使用方法

前言一、官方函数用法二、实验验证1.计算高维数组中各个像素位置的余弦距离2.验证高维数组中任意一个像素位置的余弦距离总结前言现在要使用Pytorch中自带的torch.nn.CosineSimilarity函数计算两个高维特征图(B,C,H,W)中各个像素位置的特征相似度,即特征图中的每个像素位置上的一个(B,C,1,1)的向量为该位置的特征,总共有BxHxW个特征。一、官方函数用法        意思是dim参数指定了函数在哪个维度上进行余弦距离计算,计算之后该维度会消失,而其他维度的形状保持不变。但是现有的大多数博客将dim的用法复杂化,因此这里进行简单的实验验证,来验证一下上述说法。二、

STM32CubeMX学习笔记(46)——USB接口使用(HID自定义设备)

一、USB简介USB(UniversalSerialBUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。USB发展到现在已经有USB1.0/1.1/2.0/3.0等多个版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已经开始普及。STM32F103自带的USB符合USB2.0规范,不过STM32F103的USB都只能用来做设备,而不能用作主机。标准USB共四根线组成,除VCC/GND外,另外为D

GD32F303基于USBD库的usb custom hid 双向通讯实现

默认已经建立好需要移植的GD32F303空白工程环境:keil  GD库版本:V2.1.4通讯工具:链接:https://pan.baidu.com/s/1Ukuy0u52C9ufPGz9QcHONA 提取码:d9rf正文开始USBD库植步骤:找到GD官网的软件包本文中用的是GD32F30x_Firmware_Library_V2.1.4将Firmware\GD32F30x_usbd_library文件夹全部拷贝至工程目录然后添加C文件,参考官方customhiddemo是这样 添加H文件路径 需要在官方customhiddemo找到这俩两个头文件,加到自己工程里这俩文件随意放,我是放在自己的

python中的torch.nn.Softmax() 用法和例子 dim=1 dim=2

用法torch.nn.Softmax()是PyTorch中的一个类,用于实现softmax函数。softmax函数是一种常用的激活函数,它可以将一个向量转换成一个概率分布,使得每个元素都是非负数且和为1。softmax函数通常在分类问题中使用,可以将一个多分类问题转换成多个二分类问题,从而得到每个类别的概率分布。语法格式torch.nn.Softmax(dim=None)其中,dim是要进行softmax的维度,缺省值为None,表示对最后一维进行softmax。例子dim=1importtorchx=torch.randn(2,3)print('x:',x)softmax=torch.nn.

IndexError: invalid index of a 0-dim tensor. Use `tensor.item()` in Python

当运行下面代码时出现下面的错误ifiteration%10==0:print("===>Epoch[{}]({}/{}):Loss:{:.10f}".format(epoch,iteration,len(training_data_loader),loss.data[0]))修改建议:去掉loss.data[0]后面的[0]。ifiteration%10==0:print("===>Epoch[{}]({}/{}):Loss:{:.10f}".format(epoch,iteration,len(training_data_loader),loss.data))原因:loss是0维张量创建一个

pytorch 中 dim 的-1,0,1,2 的意义 详解

对于3维矩阵,dim为-1时 与dim为2时的效果是一样的。dim为0时 从0维度,下图 是三维实例 图的目的是 可以由一个想象的空间。下面代码与上图关系不大>>>ab=torch.tensor([[[0,1,2,3],[1,2,3,4]],[[2,3,4,5],[4,5,6,7]],[[5,6,7,8],[6,7,8,9]]])>>>abtensor([[[0,1,2,3],[1,2,3,4]],[[2,3,4,5],[4,5,6,7]],[[5,6,7,8],[6,7,8,9]]])>>>ab.shape#ab的形状尺寸torch.Size([3,2,4])>>>ab.size()#ab的

USB HID转蓝牙&鼠键宏&指纹解锁

USB-HID-BLER将有线鼠标键盘游戏手柄等USBHID转换为蓝牙设备,附带鼠键宏和指纹解锁功能。硬件开源地址 前作主要功能使用esp32-c3的GPIO模拟USBHOST,识别低速USBHID设备并读取其报告描述符和报告TEANSLATE工作模式:检测设备类型,尝试对鼠标和键盘的报告描述符进行解析,将其报告翻译成预定义的标准报告并转发PASSTHOUGH工作模式:对于其他类型设备和解析失败的鼠标键盘,将其报告描述符和报告原样转发集成电池管理,可使用电池供电、使用USB供电、使用USB为电池供电鼠键宏:对于工作在TEANSLATE模式的设备可以定义任意鼠标/键盘宏(施工中)指纹解锁:集成指

分享一个超强的HID调试助手

目前网络上的HID调试工具都比较简陋,只能简单的进行收发显示,功能比较单一。这里分享一个比较好用的HID调试助手,纸飞机调试助手,是一款比较现代化的调试工具,由于是基于串口助手拓展出的功能,因此使用习惯和串口助手是一样的,只是数据来源变成了USBHID。从上图可以看到只需要填写VID和PID号即可打开对应的HID设备。为什么好用?主要有以下几点:文本数据高亮针对关键词、特殊字符、数字、字符串、等内容都进行了高亮显示,整体阅读会比较舒适。自定义数据过滤纸飞机有一个filter窗口可以过滤筛选流式文本数据,如果日志打印量比较大又需要看特定的日志信息,这个功能会比较好用。数据绘图纸飞机调试助手也支持

键盘按键名称及HID扫描码及VK虚拟键码对照表

按键名称HID码(扫描码)十进制[十六进制]虚拟键码VK 十进制[十六进制]ESC41 [0X29]27 [0x1B]F158 [0X3a]112 [0x70]F259 [0X3b]113 [0x71]F360 [0X3c]114 [0x72]F461 [0X3d]115 [0x73]F562 [0X3e]116 [0x74]F663 [0X3f]117 [0x75]F764 [0X40]118 [0x76]F865 [0X41]119 [0x77]F966 [0X42]120 [0x78]F1067 [0X43]121 [0x79]F1168 [0X44]122 [0x7A]F1269 [0

linux - 插入 USB HID 设备时防止 usbhid 自动加载

我正在尝试(可逆地)在RaspbianJessie安装、内核版本4.4.16-v7+上禁用USBHID支持。我们需要将RaspberryPi置于半公共(public)空间并在电视上显示内容,我们希望至少在一定程度上难以干扰它。到目前为止,我已经设法通过rmmod使usbhid模块从内核中移除。在对模块进行rmmod之后,tt似乎每次我插入USB键盘或鼠标时,设备驱动程序都会加载回内核。有什么办法可以避免吗? 最佳答案 udev是最好和最简单的方法,添加一个新规则,例如:/etc/udev/rules.d/99-disable-usb