- 博客(64)
- 资源 (1)
- 收藏
- 关注
原创 神经网络量化
最近在做神经网络的端侧部署,在做端侧部署的时候,为了减少内存压力和加快推理速度,会将单精度(fp32)模型量化成int8或者fp16。
2024-02-21 09:21:46 1462
原创 cuda编程学习
上式可以理解为:每个block有perBlockSize个thread,对应线程所在的block起始位置就是blockInGrid*perperBlockSize,然后加上偏移就是threadInblock。在三维block中计算线程的一维索引时,可以想像成将三维数据展平成一维,按照“优先顺序”的话,x维度是变化最快的,其次是y维度,最后是z维度。在计算线程索引的时候,经常会看到gridDim、blockDim、blockIdx、threadIdx。
2024-01-26 11:21:24 1166
原创 动手实现双线性插值
如上图所示,在计算插值点p的像素值的时候,先是通过两次单线性插值得到。双线行插值其实是做了三次单线性插值。由于是邻近点,所以有。
2024-01-17 09:25:26 1058
原创 视觉处理之仿射变换
射变换是一种二维图像变换,可以通过旋转、缩放、平移和倾斜等操作改变图像的几何结构,同时保持图像中平行线的平行性。主要是要涉及到仿射变换的M矩阵的推导,以及M矩阵的逆推导。示例:主要用在yolov5的处理中。
2024-01-16 16:25:42 1209
原创 AXI总线协议
总线:总线是传输数据的通道,由各种逻辑器件构成,一般由数据线、地址线、控制线等构成接口:连接标准,又称之为物理接口i协议:传输数据的规则AXI总线支持乱序发送。
2023-10-18 14:28:10 215
原创 pytorch debug记录
这种问题是transformer版本错误或者gpt2文件错误,还需要检查神经网络的输出,看是不是有多个输出。遇到这种问题是因为pth文件下载不完整,删掉缓存中的pth文件,重新下载就好了。
2023-06-09 16:31:13 155
原创 每日一点小知识
DAY1: 内存四区DAY2:引用DAY3:指针DAY4: lower_bound和upper_boundDAY5: 左值引用和右值引用DAY6:智能指针
2022-07-18 22:57:12 430
原创 栈--基础
lass Solution: def evalRPN(self, tokens: List[str]) -> int: # 后序表达式转成中序表达式 # 操作数和操作符先后入栈 op_to_binary={ '+':add, '-':sub, '*':mul, '/':lambda x,y:int(x/y), } stack=[] for token...
2022-05-15 16:15:53 152
原创 python基础之字典
字典的特征总结如下:字典中数据必须是以键值对的形式出现的; 逻辑上讲,键是不能重复的,但值可以 字典中的键(key)是不可变的,也是无法修改的,而值(value)是可以变的,字典的增删改查先按照映射关系创建一个字典:NASDAQ_code={'BIDU':"Baidu",'SINA':'Sina'}增:增的话有update(update可以用来添加多个元素)和直接法(直接法的话,如果键原本就存在于字典中,会修改原来的value)#### UPDATENASDAQ_code
2022-05-12 11:56:26 839
原创 哈希表--简单
本题的思路是建立一个哈希表,将字母和字符串之间一一对应class Solution: def wordPattern(self, pattern: str, s: str) -> bool: ch2word=dict() word2ch=dict() words=s.split() # 以空格为分隔符分割字符串 if len(pattern)!=len(words): return False for ch,..
2022-05-11 11:34:11 280
原创 链表--简单题
思路:此题的难点在于两个链表的长度不一样,所以本题的解法巧妙在于,当a的链表遍历完以后,再去遍历b链表,当b的链表遍历完以后,再去遍历a链表,这样的话,遍历的程度就是一样,如果有相交节点的话,就能够找到了。# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solut..
2022-05-11 11:04:04 95
原创 栈---基本数据结构
简化路径思路:根据给定的字符串利用“/”分割字符串,分割得到的列表会有以下几种情况:”//“ 会分割出空字符串 一个点'.' 两个点'..' 只包含英文字母、数字或 _ 的目录名对于1和2无需处理,对于3,需要弹出栈顶元素,对于4需要入栈class Solution: def simplifyPath(self, path: str) -> str: stack=[] for ch in path: stack.append(c..
2022-05-10 16:16:40 58
原创 二叉树--路径总和
如果按照迭代法解决此问题的话,就是计算根节点到当前节点的和,利用队列的思想,# 记录根节点到当前节点的总和 if not root: return False queue=collections.deque([root]) queue_val=collections.deque([root.val]) while queue: now=queue.popleft() ..
2022-05-07 22:24:02 538
原创 打家劫舍--动态规划
思路--动态规划算法:如果偷了当前节点,那么当前节点的左右子树不可以偷;如果不偷当前节点,左右子树可偷可不偷。用v1表示偷当前节点,v2表示不偷当前节点。# leetcode submit region begin(Prohibit modification and deletion)# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, rig..
2022-05-07 11:06:12 130
原创 二叉树中序遍历
递归法:# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def inorderTraversal(self, root: Op..
2022-05-05 16:16:55 287
原创 PnP算法
PnP (Perspective-n-Point)是求解3D到2D点对运动的方法。解决的问题是:当我们知道n个3D空间点以及他们的投影位置时,估算相机所在的位姿。特征点的3D位置可以由三角化或者RGB-D相机的深度图确定。因此,在双目或者RGB-D的视觉里程计中,可以直接使用PnP估计相机运动。直接线性变换(DLT):空间点P,齐次坐标为。投影到归一化平面的特征点齐次坐标为,此时相机的位姿R,t是未知的。定义一个增广矩阵为一个3X4的矩阵,包含了旋转与平移信息。将投影矩阵展开如下:用最后一行
2022-05-05 11:53:22 5117
原创 哈希表合集
# leetcode submit region begin(Prohibit modification and deletion)class Solution: def findWords(self, words: List[str]) -> List[str]: # 26个字母的行序号 rowidx='12210111011122000010020202' ans=[] for word in words: ...
2022-05-04 22:23:32 211
原创 最长回文字符串
思路:计算字符串中每个字符串出现的频率,如果出现的次数为偶数,则全部用来做回文串,如果出现的次数为奇数且大于1,取偶数个作为回文串,如果出现1次,那么作为最中间的值。重点:collections.Counter(),用以计算每个字符串中字符出现的频率class Solution: def longestPalindrome(self, s: str) -> int: ans=0 count=collections.Counter(s) ..
2022-05-04 21:16:04 176
原创 二叉树搜索树迭代器
# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass BSTIterator: def __init__(self, root: TreeNode)...
2022-05-04 21:08:38 414
原创 二叉树的右视图
思路:返回遍历到的最后一个值# leetcode submit region begin(Prohibit modification and deletion)# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# ..
2022-05-04 17:26:10 412
原创 Numpy基础
import numpy as npprint(np.__version__)all_zeros=np.zeros(10)all_zeros=np.zeros(10,dtype='int')value=np.arange(0,5,100)List=[1,2,3,4,5,6,7,8,9]list2arr=np.array(List)
2022-05-04 14:59:38 5685
原创 129. 求根节点到叶节点数字之和
思路:找出根节点到叶子节点的路径,然后计算每条路径的数字之和# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def sum..
2022-05-03 22:15:10 68
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人