自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 【无标题】

替换元素,那就替换之后产生的效果是什么?s[i]==t[i],那么只分析前一个元素即可。s和t,在t中增加元素比较麻烦—更改为删除s中的一个元素。

2023-04-01 15:47:48 201 1

原创 动态规划总结

如果把遍历nums(物品)放在外循环,遍历target的作为内循环的话,举一个例子:计算dp[4]的时候,结果集只有 {1,3}输入:nums = [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11]。这里取11为背包容量,看看背包能否装满, [1, 5, 5] 将背包装满了,剩下的正好是11,则可以分为两半。这样的集合,不会有{3,1}这样的集合,因为nums遍历放在外层,3只能出现在1后面!给你一个整数 n ,返回 和为 n 的完全平方数的最少数量。

2023-03-31 19:24:51 379

原创 动态规划63不同路径

还有一个问题初始化二维数组,千万不要[[0]*n]*m,改动一个元素会改变一整列元素,应该用dp=[[0 for _ in range(col)] for p in range(row)]方式初始化数组。存在的问题是,初始化数组的时候也要用函数传递,比如第一行中间有一个障碍,那么后面的元素就传递不过去了。这道题目,代码随想录上已经给了非常全面的解答,

2022-10-24 17:16:48 481

原创 746使用最小花费爬楼梯

由于一次跨进两步或者一步,这里当前时刻最小消耗由前一步或两步最小消耗(加上跨出这步的消耗(cost数组值)),取最小值作为当前时刻最小消耗。根据递推公式可以知道当前时刻依赖之前时刻的值,那就从前向后遍历。,所以这个时刻的dp数组值和cost相同,dp[2]=0 以及dp[1]=0。这里涉及到了最小,那么就是min。建立的动态数组一般都是和。下标是在第几个台阶,也就是。数组是累计消耗,也就是。

2022-10-23 22:06:14 359

转载 496.下一个更大元素

单调栈下一个更大元素

2022-10-19 21:23:43 110

转载 单调栈 739. 每日温度

单调栈:每日温度

2022-10-19 20:44:02 78

原创 二叉树的中序遍历

二叉树的中序非递归遍历算法:主要思想就是一直向左走,到了最左侧开始出栈并压入右叶子节点,右侧节点重复上面的操作

2022-04-25 19:49:13 705

原创 剑指 Offer 58 - II. 左旋转字符串(原地修改)

C++写法:一次全局反转加上两次局部反转就可以完成前后调换的操作。class Solution {public: string reverseLeftWords(string s, int n) { reverse(s.begin(),s.begin()+n); reverse(s.begin()+n,s.end()); reverse(s.begin(),s.end()); return s; }};python.

2022-04-11 09:52:33 1425

原创 【pytorch】tensor和Tenso区别

1.Tensor的使用torch.Tensor可以直接接受传入的维度,建立相应维度的tensor,并且是初始化默认值类型的tensor,这里的默认值也是可以改的。#证明,torch.Tensor可以直接接受传入的维度,建立相应维度的tensor#并且是初始化默认值类型的tensor,这里的默认值也是可以改的 x = torch.Tensor(5,3) print(x.dtype) t.set_default_dtype(torch.float64) print(x.d

2022-03-30 16:00:55 1411

转载 【PyTorch】tensor的连续性

1.连续的概念1、contiguous连续的两种方法Tensor底层一维数组元素的存储顺序与Tensor按行优先一维展开的元素顺序是否一致Tensor多维数组底层实现是使用一块连续内存的1维数组(行优先顺序存储,下文描述),Tensor在元信息里保存了多维数组的形状,在访问元素时,通过多维度索引转化成1维数组相对于数组起始位置的偏移量即可找到对应的数据。如果想要变得连续使用contiguous方法,如果Tensor不是连续的,则会重新开辟一块内存空间保证数据是在内存中是连续的,如果Tensor是连续

2022-03-29 16:59:46 1138

原创 454. 四数相加 II

这里就是使用了collections.Counter,统计里面的每个数字出现的次数,比较方便。class Solution: def fourSumCount(self, A: List[int], B: List[int], C: List[int], D: List[int]) -> int: countAB = collections.Counter(u + v for u in A for v in B) ans = 0 for u .

2022-03-29 13:50:56 101

原创 49. 字母异位词分组

class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: set=collections.defaultdict(list) for str in strs: key="".join(sorted(str)) set[key].append(str) return list(set.values()).

2022-03-26 20:20:35 225

原创 深度学习要会写的代码集合

在本文中,我们提出了一个新的多模态动态融合网络(MM-DFN),通过充分理解多模态对话环境来识别情绪。具体来说,我们设计了一个新的基于图的动态融合模块来融合对话中的多模态背景特征。该模块通过捕捉不同语义空间中语境信息的动态变化,减少了冗余并增强了模式间的互补性。我们用门控机制改进了图卷积层[17],并设计了一个新的基于图的动态融合(GDF)模块来融合多模态语境信息。该模块利用图卷积操作将模式间和模式内的情境信息聚合到每一层的特定语义空间中。同时,门控机制被用来学习相邻语义空间中情境信息的内在顺序模式。G

2022-03-25 20:08:55 1074

原创 904. 水果成篮

主要是用了Counter这个类,以及在循环中的操作import collectionsclass Solution: def totalFruit(self, fruits: List[int]) -> int: count= collections.Counter() ans,i=0,0 for j,x in enumerate(fruits): count[x]+=1 while len(.

2022-03-20 21:24:27 111

转载 【无标题】

关于Python itertools.groupbyPython itertools.groupbygroupby()把迭代器中相邻的,指定特征重复的元素挑出来放在一起list中:key相同的dict元素通常使用itemgetter()参数规定分组依据也可编写简单的lambda函数传入key参数,作为分组依据(key参数必须传入函数)from operator import itemgetter #itemgetter用来取dict中的key,省去了使用lambda函数from itertoo

2022-03-19 22:20:19 102

原创 对抗训练FGM等

如何进行数据增强:https://blog.csdn.net/weixin_42001089/article/details/115458615FGSMclass FGM(object): def __init__(self, model, emb_name, epsilon=1.0): # emb_name这个参数要换成你模型中embedding的参数名 self.model = model self.epsilon = epsilon

2022-03-19 22:17:07 917

原创 844. 比较含退格的字符串

这里的核心思想就是反推,从后向前进行比较class Solution: def backspaceCompare(self, S: str, T: str) -> bool: i, j = len(S) - 1, len(T) - 1 skipS = skipT = 0 while i >= 0 or j >= 0: while i >= 0: if S[i] == .

2022-03-18 18:44:35 184

原创 ****148排序链表(归并算法)

在链表内部进行排序确实是很困难,但是我们可以考虑使用归并,当归类到两个节点的时候就很好比较了class Solution: def sortList(self, head: ListNode) -> ListNode: def sortFunc(head: ListNode, tail: ListNode) -> ListNode: if not head: return head if .

2022-03-17 22:00:08 308

原创 328. 奇偶链表

做链表的一些看起来很乱的题目:那就将这个链表分割成两部分,试着同时操作两个链表再拼起来。# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def oddEvenList(self, head: ListNode) .

2022-03-17 21:26:54 599

原创 143.重排链表

就是利用数组保存了链表的节点,进行移位操作# Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution: def reorderList(self, head: ListNode) -> None: """.

2022-03-17 21:12:50 381

原创 __init__和__forward__;torch.backward();随机种子

https://blog.csdn.net/u012436149/article/details/692301361.__init__和__forward__函数的作用2.__call__函数的作用https://www.cnblogs.com/xinglejun/p/10129823.html3.hook机制https://blog.csdn.net/u012436149/article/details/692301364.torch.backward()问题来源:这里的v没有计算公式,传

2022-03-16 22:42:20 812

原创 查看模型的内部信息

1.如何查看模型的各个层次print(model)#实例化后的2.打印模型的参数缺点:是可以看见一堆的参数,但是你不知道他是谁的参数,很乱。print("-------------------------------------------------") print("model的bert的属性") for parameter in model.parameters(): print(parameter) print("------------

2022-03-16 18:13:12 1822

原创 查看进程并删除进程

1、用nvidia-smi也好,top也好都找不到kill掉的进程了,但是显存仍然占用没有被释放,怎么办呢?毕竟top也找不到进程号呀用以下指令查找出top没有而他有的进程fuser -v /dev/nvidia*逐个kill掉top中不显示的进程就可以了2、pytorch杀不干净ps aux|grep lk|grep python|awk '{print $2}'|xargs kill3、更加暴力的方法是直接删除该用户的所有的进程,这时候该用户的所有进程都没了killall -u usr

2022-03-15 21:25:49 794

原创 虚拟环境相关&&linux配置conda和pytorch环境

1.查看自己的虚拟环境conda info --envs2.查看虚拟环境中安装了哪些python包pip listpip freeze3.使用虚拟环境workon flask4.有谁在使用GPUhttps://blog.csdn.net/weixin_30470785/article/details/113580933这里有常用的基本操作:主要是最后一条查看到底有谁在使用GPU5.激活虚拟环境conda activate 虚拟环境名字6.退出该虚拟环境conda deact

2022-03-15 19:06:17 1242

原创 116. 填充每个节点的下一个右侧节点指针

这里用到的知识点主要是python中collections库中关于队列的使用。"""# Definition for a Node.class Node: def __init__(self, val: int = 0, left: 'Node' = None, right: 'Node' = None, next: 'Node' = None): self.val = val self.left = left self.right = rig.

2022-03-15 15:07:07 1301

原创 11.28号的刷题笔记

这里代码需要注意的地方有:使用NEW来建立根节点。 TreeNode* root= new TreeNode(pre[0]);/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */.

2021-11-28 22:04:16 353

原创 python补充

1、round(2/3)会输出1,他是向最近的整数取整。而默认的2/3应该取为0,这是python默认的取整方式:向下取整。2、floor(32.9)----32向下取整,ceil(32.9)-----33向上取整3、字符串拼接"hello"+"world"就可以输出hello world4、长字符串:print('''uiasfhaioushciuhcsxuhscasdiuchapcdasdcfhbasofhapsdasdfiahsdf''')print('uiasfhaioushciuhc

2021-11-28 10:25:57 489

原创 leetcode

一、无重复字符的最长子串(第三题)1、问题描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。2、解决思路:滑动窗口思路,判断是否有重复的字符:哈希集合( std::unordered_set)(1)i固定左侧,右侧窗口为j=i+1,(2)j++向右移动,并一直判断窗口内部没有重复元素(确保这个子串是无重复元素的)(3)当有重复的时候,返回这个长度和最大

2021-11-23 15:55:03 140

原创 java对象和类的内存讲解以及递归

1、首先创建了类,类就在2、

2021-11-22 22:55:06 396

原创 牛客网刷题笔记

一、NC17 最长回文子串对于一个字符串(仅包含小写英文字母),请设计一个高效算法,计算其中最长回文子串的长度。给定字符串 A 以及它的长度 n ,请返回最长回文子串的长度。示例1输入:"abcab",5返回值:1解法:(1)这里分为aba和abba形式,这里使用的方法就是,分别将第二个指针放在第一个指针后面的一个位置和两个位置。(2)这里的回文判断:第一反应我是想用栈来解决,但是abbba就不太方便用栈解决!这里需要进一步总结!(3)通过两个指针一个向前一个向后可以很方便的进行对比一个

2021-11-13 20:41:26 280

原创 orderedset和set

OrderedSet是一种可变的数据结构,它是列表和集合的混合体它能记住条目的顺序每个条目都有一个索引号,可以查到letter=ordereset('asdcdsf')print(letters)#ordereset(['a','s','d','c','s','f') 去重print('r' in letters) #Trueprint(letters.index('r')) #2print(letters[2]) # rletters.add('x')print(le

2021-11-09 15:24:54 1219

原创 图神经网络

一、笔记图片(字不好看,不算知识分享,小白的笔记记录而已)二、如果定义卷积1、图卷积 1、图卷积分为谱方法图卷积和空间方法图卷积。谱方法图卷积:就是定义在谱域(由于图的拉普拉斯矩阵可以很好的表征图,对拉普拉斯进行谱分解是在全图信息都知道的情况下,所以谱域个人认为是全图的信息)中的图卷积;;;存在缺陷:需要得到全局信息才可以进行谱方法图卷积空间方法图卷积:定义在顶点域的图卷积,位于目标顶点附近的所有顶点的加权平均函数。 2、如何理解卷积?卷积就是用两个函数生成第三个

2021-11-06 18:04:02 136

原创 第七章虚拟化

1、什么是虚拟化?把一台物理主机虚拟分成多台逻辑主机,彼此间相互不影响,这样可以充分地利用硬件资源。2、虚拟化根据不同的对象类型可以进一步细分为:平台虚拟化:计算机和操作系统资源虚拟化:内存、存储、网络资源等系统资源应用程序虚拟化:包括仿真、模拟、解释技术等,egjava虚拟机从硬件到计算机操作系统再到应用程序3、虚拟化准则:资源控制:控制程序必须能够管理所有的系统资源。你虚拟机调用不了硬件怎么跑。等价性:在虚拟机下的程序应该和没有虚拟机的行为一样。效率性:就是别太慢,在虚拟机上也是直接

2021-11-04 17:44:13 225

原创 第六章集群资源调度策略

1、资源调度策略主要有:FIFO策略、公平调度器、能力调度器、延迟调度策略、主资源公平调度策略2、FIFO:就是先进来的用完才释放资源。3、公平调度器:引入资源池,将用户的任务分到多个资源池。总资源向所有资源池去分配资源,资源池设置好了资源下限和上限,还可以设置资源池优先级。1、总资源先按资源池的下限分配资源。2、将剩余资源按资源池优先级进行按比例分配。3、在资源池内部按照作业的优先级或者公平策略进行分配资源。5、能力调度器:就类似针对用户的公平调度器,这里使用队列代替资源池6、延迟调度策略

2021-11-04 10:58:43 623

原创 第三章分布式通信

1、分布式通信的概念?主要研究分布式系统中,不同构件之间信息交换的机制:远程过程调用、消息队列、多播机制。2、远程过程调用是什么?就是容许进程像调用本地进程一样地调用别的进程的程序。3、远程过程调用函数需要?你要给所有函数一个唯一的id,建立映射表(哈希表)一般放在服务注册中心保存。在这个过程中需要进行序列化和反序列化,也就是将数据结构和对象转化为二进制以及将二进制转化为数据结构和对象4、消息队列这里ptp是基于队列的,按照先进先出的模式。pub-sub是基于主题的,就像我发一些消息到公

2021-11-04 09:11:40 1417

原创 第二章并行计算

1、什么是并行计算?用多个处理器协同解决一个问题。2、多指令流多数据流分为:共享内存、分布式共享内存、分布式内存3、PCAM设计方法学的四个阶段:划分:分解成小的任务,开拓并发性。通讯:确定诸任务间的数据交换。监测划分的合理性组合:根据任务的局部性,组合成更大的任务映射:将每个任务分配到处理器上,提高算法的性能4、加速比性能定律:就是并行后比串行快了多少倍。5、AMDAHAL定律:针对实时性要求比较高的科学计算。执行时间随着处理器个数增多而减少。AM要求实时,执行时间就得短6、gus

2021-11-02 18:40:39 265

原创 2、并行计算

1、并行计算的定义:就是用多个处理器解决一个问题。2、按照flynn分类可分为:单指令流单数据流、单指令流多数据流、多指令单数据流(没人用)、多指令流多数据流3、多指令多数据流可以按照存储方式进行分类:共享内存:SMP分布式共享内存:DSM分布式存储:MPP、COW这部分配合上一节课内容记忆4、计算机系统分类:SPDM:同时执行相同的程序对不同的数据操作MOMD:同时有多个程序对不同的数据进行操作5、PRAM:使用一个集中的共享存储器和一个指令控制器,通过共享存储(S

2021-11-01 17:12:00 640

原创 云计算概述

1、如何衡量计算性能:FLOPS每秒钟执行的浮点数运算次数2、向量处理机:又称数组处理机,是一种直接操作一维数组指令集的cpu,也称为阵列处理器。3、大规模并行处理计算机:大量结点通过高带宽低延时的专有网络互联4、并行向量处理机pvp:使用交叉开关将vp(少量向量处理器)连接到共享存储模块。5、SMP对称多处理机:系统一般使用商业微处理器通过高速总线或交叉开关连接到共享存储器上,可靠性差、扩展性差。6、MPP大规模并行处理机:每个结点都包含着微处理器(一个及以上)以及存储器属于分布式存储7

2021-11-01 16:23:34 296

转载 argparse和shell交互以及在Linux下编写文件

一、argparse模块1.1 参数的定义argparse模块感觉就是一个全局变量,在运行程序时,如果没有给某个参数赋值,就使用其默认参数。具体定义格式如下,我们需要修改的就是parser.add_argument()里面的部分,第一个引号里面的内容就是该参数的名称,前面加“–”是在程序运行时使用的,在接下去的程序运行中会介绍;dest就是参数的名称;type是参数的类型;default是默认值,如果程序运行时,没有特别说明,就是加载默认参数;help就是对该参数进行说明import argparse

2021-10-29 10:53:56 406

原创 splitlines() 方法

一、splitlines() 方法splitlines() 方法将字符串拆分为列表,拆分在换行符处完成。以行为单位存成列表txt = "Thank you for the music\nWelcome to the jungle"x = txt.splitlines()print(x)['Thank you for the music', 'Welcome to the jungle']把文本全读进来,这样才可以对每一行进行拆解 with open(path, "r"

2021-10-26 13:55:07 635

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除