- 博客(27)
- 收藏
- 关注
原创 JAVA八股
volatile关键字是Java中的一个修饰符,用于保证多线程环境下共享变量的可见性。当一个变量被声明为volatile时,它告诉Java编译器和运行时环境,任何对该变量的读写操作都要直接从主内存中进行,而不是从线程的本地缓存中读取。写入:如果不使用volatile关键字,线程会将修改的值保存到缓存中,如果使用了volatile关键字,线程会将修改的值刷新到主内存中。保证多线程环境下共享变量的可见性。读取:如果不使用volatile关键字,线程会从缓存中读取该变量,因为一般线程会将修改的值保存到缓存中。
2024-10-17 13:58:50
1065
1
原创 黑马程序员-苍穹外卖问题
找到\sky-take-out-main\sky-take-out-main\sky-take-out\sky-server\src\main\java\com\sky\service\impl\EmployeeServiceImpl.java。
2024-10-01 22:16:02
244
原创 C++基础
重载是对同一个名字的函数实现不同的功能(具有不同的参数列表),重写是对继承基类中的虚函数进行重新定义。5.const成员函数不会修改任何成员变量,只能在const对象上调用const成员函数。命名空间用来组织代码,避免名字冲突。不同命名空间相同标识符不会冲突。通过try catch来捕获异常,通过throw来显示地抛出异常。4.C++中什么是命名空间?为什么使用命名空间?类的成员变量如何进行初始化。3.C++如何处理异常?6.如何实现多继承?
2024-09-26 09:32:58
182
原创 【无标题】
首先动规的解题第一步的关键是找到迭代关系,你要思考如何根据前面的结果来得到当前第i个结果,以下几题总体上都是一样的。是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。但是平方数一组数,所以我们要遍历这个数组来找到最小的dp[i-平方数]dp[i]是可以由dp[i-coins[j]]推出来的。dp[i]是可以根据 dp[i-平方数] 推理而来的。dp[i]表示和为i时所需要的最少硬币数。dp[i]表示和为i的最少平方数的数量。你可以认为每种硬币的数量是无限的。的完全平方数的最少数量。
2024-08-17 17:25:54
320
原创 二分查找-螺旋数组
螺旋数组是可以直接使用二分查找的,重要的是根据中间值和left位置的值和right位置的值(通常是right位置的值)来判断mid处于左边有序序列中还是右边有序序列中。
2024-08-15 16:28:40
105
原创 分类精度计算细节
在计算acc的时候,pred和target需要是torch.Tensor类型,且在cuda上,在计算混淆矩阵的时候,则需要转成numpy,且在cpu上。
2024-08-08 10:29:18
106
原创 RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you
如果直接下面的解决方式,虽然不会报上面的错,但是显卡会不够用,明明之前是可以跑的。还有一种解决方式是在读取数据的时候将num_workers设置为0。之前可以跑的代码,隔了一天运行突然报这个错误。
2024-07-02 16:41:15
915
原创 关于torchmetrics的版本问题
torchmetrics的版本一定要跟 PyTorch Lightning的版本对应,否则可能会出现数据溢出的问题,比如在计算AUROC时会把形状为[22,2]的pred在计算时自动转成[44,1]的大小,而target仍然为[22,1],这时就会出现数据溢出的问题。具体报错如下,使用的torchmetrics==0.10.1,pytorch-lightning==1.2.3。根据这篇知乎,将torchmetrics==0.7.0就没再报错了。
2024-05-07 15:44:06
3233
原创 动态规划总结
(1)dp_max[i]表示以nums[i]为结尾的最大的非空连续子数组的乘积,用来保存dp[i-1]*nums[i]为正时的最大值。(2)dp_min[i]表示以nums[i]为结尾的最小的非空连续子数组的乘积,用来保存dp[i-1]*nums[i]为负时的最小值。当nums[i]>dp_max[i-1]*nums[i]时:dp_max[i]=nums[i]当nums[i]
2023-12-29 22:02:41
405
1
原创 贪心算法总结
你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油。开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油。开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油。开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油。开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油。
2023-12-03 22:07:02
418
1
原创 计算机网络笔记
P2P方式:peer-to-peer,每一个端系统同时客户又是服务器,作为客户端的一方可以从多个服务器获取文件,主机越多,下载速度越快。b.点对点网络:用于广域网,使用分组存储转发和路由选择机制,对应上图的网状型。特点:在进行信息传递的每个时段占用不同段的链路,而不是占用整个链路。广域网使用的是交换技术(通过路由器等设备,一点一点存储再转发)局域网使用的是广播技术(比较小的范围内,喊一声就能听见)(1)按分布范围:广域网、城域网、局域网、个人区域。(3)按交换技术分:电路交换、报文交换、分组交换。
2023-09-18 22:56:51
87
1
原创 leetcode热题100思路--区间问题
(2)遍历整个区间数组,如果当前区间的第一个值小于merged的第二个值,则说明该区间与merged重合,此时需要更新merged的第二个值为当前区间的第二个值与merged的第二个值之间的最大值。如果当前区间的第一个值大于merged的第二个值,则说明当前区间与merged不重合,直接添加到merged中就可。(1)首先根据每个区间的第一个值对区间进行排序intervals.sort(key=lambda x:x[0])区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
2023-09-17 15:49:50
79
1
原创 leetcode热题100思路--动态规划
思路:dp[i]表示以num[i]为结尾的连续子数组的最大和,当dp[i-1]<=0时,dp[i]=nums[i],当dp[i-1]>0时,dp[i]=nums[i]+dp[i-1],请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。连续子数组 [4,-1,2,1] 的和最大,为 6。是数组中的一个连续部分。
2023-09-17 11:15:47
75
1
原创 leetcode热题100思路--滑动窗口
(1)初始化最大长度maxlen=0,当前长度curlen=0,记录最长子串lookup=set(),指针left=0。(3)循环遍历字符串,使用while循环来判断当前元素是否出现在lookup中,如果出现。(6)比较maxlen和curlen的大小,更新maxlen的值。,请你找出其中不含有重复字符的。请注意,你的答案必须是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。因为无重复字符的最长子串是。,所以其长度为 3。,所以其长度为 1。,所以其长度为 3。
2023-09-15 09:57:38
90
原创 leetcode热题100思路--哈希表
如果他是最长连续序列中的第一个值,也就是该值-1不在集合中,那么把最长序列长度设为1,并把current_num设为该值。(3)循环判断下一个值(current_num+1)是否在集合中,如果在的话,最长序列长度+1。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。的最后,比较这次的最长序列长度与上一次最长度序列的长度,保留最大值。(1)使用set函数对数组进行排序并去重。请你设计并实现时间复杂度为。给定一个未排序的整数数组。(2)对集合进行遍历。
2023-09-13 09:14:50
91
1
原创 数据加载的时候出现RuntimeError: Pin memory thread exited unexpectedly
很有可能是因为num_workers太大导致的,可以调小一些。
2023-08-28 17:12:32
491
1
原创 计算HD95出现RuntimeError: The second supplied array does not contain any binary object.
研究了一下午发现,pred有[0,1,2,3,4,5,6]这样七个类别,而在某一批GroundTruth读进来时只有[0,1,2,3,4,5]这样六个类别,类别数不同导致HD95无法正常计算。3D数据切成切片之后,每个切片包含的类别数不同,所以就发生了读取一批label时可能会只有部分类别。我把batchsize改大之后,可以同时读入更多的数据,问题就解决了。当我将3D数据切分为2D的 slice送入网络训练,使用HD95进行评估时出现这样的错误。
2023-07-09 17:32:35
1966
8
原创 向csv写入字符串出现每个字母后面都有逗号的问题
例如下面一段代码,img和caption都是字符串。应该给img和caption都加上括号。这些写的结果是每个字母占一个格子。使用括号把该字符串括起来即可。
2023-05-25 23:01:10
471
1
原创 stable diffusion推理过程代码梳理
(2) 第555行表示使用CLIP的文本编码器对输入的文本进行编码,调用的是stable-diffusion/ldm/modules/encoders/modules.py中的。(1)调用的是 stable-diffusion/ldm/models/diffusion/ddpm.py的get_learned_conditioning函数。(1)调用plms中的采样操作,在stable-diffusion/ldm/models/diffusion/plms.py中。1.首先是对文本进行编码。
2023-05-19 23:56:57
2997
1
原创 常用Linux命令
多个文件压缩打包 tar czvf my.tar file1 file2,…多个目录压缩打包 tar czvf my.tar dir1 dir2。单个文件压缩打包 tar czvf my.tar file1。单个目录压缩打包 tar czvf my.tar dir1。> outlog.txt 表示将终端输出保存到txt中。2>&1 表示将错误输出2定向到标注输出1中一起输出。退出:先按esc,然后shift +:,输入wq。解包至当前目录:tar xzvf my.tar。
2023-05-01 08:55:42
112
原创 【opencv-python】opencv安装出现ERROR: Could not build wheels for opencv-python which > use PEP 517 and can
尝试网上其他方法无果,后来在看到是因为python3.6的版本太老了导致的。可以尝试更新python的版本,我更新到3.8之后可以成功安装。使用python3.6安装opencv-python是出现。
2023-04-15 17:40:17
769
原创 记录一个奇怪的报错
最后发现是因为pred_mask是numpy类型,而gt_dis是tensor类型导致的。明明两个大小相等的矩阵a和b,在使用a[b==1]时却报错,报错内容是第一维度大小不等。在我的代码中gt_dis和pred_mask的大小是相等的。把pred_mask改成tensor即可。
2023-03-28 22:48:45
87
原创 制作style transform数据集
删除coach_invert.py中第14行的w_norm,重新运行。使用如下命令将文件1-8复制到cars_train中。使用如下命令将文件10-11复制到cars_val中。文件1-8用于训练,10-11用于测试。上传数据集,使用以下命令进行解压。为当前数据集所在路径。
2023-03-28 22:24:19
97
原创 【nnUNet】CUDA10.1安装nnUNet框架
python3.6+pytorch1.6+cuda10.1问题由于nnUNet框架需要pytorch1.6以上版本,而cuda版本为10.1,使用如下语句安装conda install pytorch torchvision cudatoolkit=10.1 -c pytorch导致默认安装的pytorch为1.4,所以需要指定安装的pytorch版本。1.安装Anacondacd到需要安装的文件夹bash Anaconda3-2019.10-Linux-x86_64.sh
2022-03-16 16:01:38
3346
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人