Code
代码调试总结
R.X. NLOS
这个作者很懒,什么都没留下…
展开
-
pyemd 和 EMD-signal:两个相似命名库的冲突与解决方案
尽管这两个库的功能完全不同,但由于它们的命名相似性,在同一环境中同时使用它们可能会产生问题。如果两个库的安装位置在这个列表中的顺序发生变化,可能会导致意外的导入行为。包元数据:如果这两个包的 setup.py 或 pyproject.toml 文件中定义了相冲突的元数据,也可能导致导入问题。或者,反过来也可能发生:先安装 EMD-signal,然后安装 pyemd 后,EMD-signal 可能无法正常导入。命名空间冲突:Python 的导入系统可能会混淆这两个库,尤其是如果它们使用了相似的子模块名称。原创 2024-07-03 14:57:55 · 473 阅读 · 0 评论 -
Matlab与Python之间的通信和同步
MATLAB和Python之间可以按如下流程通信和同步:Python先搭建起一个"“(服务器),等待MATLAB的”"(连接)。MATLAB主动""(创建客户端),与Python的"服务台"建立连接。连接建立后,它们就可以开始""(发送和接收数据)了。“交谈"结束后,它们友好地说了”“(关闭连接),结束了这次愉快的"握手”。上述过程可以用于依赖不同语言的多个传感器、设备的控制及其协同。这段代码的作用是创建一个TCP服务器,并等待MATLAB的连接。其中,表示使用IPv4地址,表示使用TCP协议。原创 2024-05-01 19:50:07 · 615 阅读 · 2 评论 -
numpy.bincount 详解 + numpy.bincount如何用于复数权重
函数在统计整数数组中每个值的出现次数或权重和时非常有用。但请注意,该函数只适用于非负的整数数组。可能是一个复数数组,我们需要将其分解为实部和虚部,然后分别处理。对每一部分进行求和操作。最后,我们将得到的实部和虚部求和结果合并为一个复数数组。是NumPy库中的一个函数,它用于计算整数数组中每个值的出现次数。长度还要长的数组,其多余的元素将被初始化为0。在特定情况下,对于复数weight。在这个例子中,我们首先使用。的所有元素都是非负的,并且。原创 2023-11-01 08:56:27 · 417 阅读 · 0 评论 -
Python 实现 并行for循环
【代码】Python 实现 并行for循环。原创 2022-10-20 22:55:57 · 4050 阅读 · 0 评论 -
服务器因代理无法pip的解决办法
【代码】服务器因代理无法pip的解决办法。原创 2022-10-17 11:25:41 · 1118 阅读 · 0 评论 -
Python 列表嵌套字典时的问题:修改一个元素后所有元素发生改变 (浅复制与深复制)
问题描述Python 列表嵌套字典时, 出现了修改一个元素后所有元素发生改变的问题,如下所示:Type "help", "copyright", "credits" or "license" for more information.>>> aa = [{}]*10>>> aa[{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]>>> aa[0]['1'] = 1>>> aa[{'1': 1}原创 2022-05-29 15:10:54 · 789 阅读 · 0 评论 -
毫米波雷达人体姿态估计数据集整理 1 -- Python读取含合并单元格的excel
问题描述整理一个毫米波雷达人体姿态估计的数据集时,需要使用Python处理一个Excel中每个sheet的数据,但是遇到了下面的问题:Excel中的合并单元格无法正常读取如何遍历读取每一个sheet解决方案问题1:读取合并的单元格若直接读取,试过网上的很多方法,都存在问题。最终选择先使用openpyxl拆分所有合并的单元格,之后再进行读取。代码如下:import openpyxlimport pandas as pddef split_excel(file_path,exc原创 2022-05-28 18:21:44 · 1355 阅读 · 7 评论 -
VS code 调整匹配/搜索到的结果的颜色
问题描述VS Code选中一个字符串后,会highlight匹配到的字符串。同样地,搜索时也会高亮所有搜索到的字符串,如下图所示:但总觉得对比度(灰色VS黑色)有些低, 不易观察。本文记录修改上述颜色的过程和方法。修改方法Step1 进入settings.jsonStep2 按照官方颜色自定义文档自定义颜色即可: https://code.visualstudio.com/api/references/theme-color例如,对于上述需求,只需要添加下述设置代码:{ ... ...原创 2022-03-04 20:36:28 · 2987 阅读 · 0 评论 -
vscode 删除全部注释
问题描述想要使用VS code删除一个代码文件的全部注释。方法1:正则表达式以删除单行注释 (#) 为例搜索 #.* 并勾选.*即可:缺点删除一行之后该行仍存在,只是内容为空当文件对空行敏感时,方法失效 (比如latex)方法2: extension安装插件 remove comments之后,直接 ctrl shift P --> remove all comments即可删除注释方便了很多,然而上述缺点仍存在 …未完待续...原创 2021-11-05 16:50:26 · 5388 阅读 · 0 评论 -
Python maximum recursion depth exceeded while calling a Python object (copy.deepcopy)
问题描述在python中deepcopy一个自定义的对象时报错maximum recursion depth exceeded while calling a Python object而且在本机运行并不会报错,在服务器上运行才会报错。解决参考: https://developer.aliyun.com/article/548660在代码中加入:import syssys.setrecursionlimit(10000)...原创 2021-10-18 10:11:43 · 1066 阅读 · 0 评论 -
VS code多个显示屏编辑同一个项目
问题描述有时候写代码/论文时希望能够做到两个显示屏都显示这个project的代码,但VS code的Open Folder并不允许打开两个相同的Folder.解决参考:Vscode怎么分屏在两个独立窗口中? - 李永江的回答 - 知乎ctrl + shift + P输入下面内容即可Workspace: Duplicate As Workspace in New Window...原创 2021-08-27 16:11:55 · 14516 阅读 · 1 评论 -
git使用踩坑总结
目录添加代理后的git设置git认证错误添加代理后的git设置主要要设置端口:git config --global https.proxy https://127.0.0.1:1080git config --global --add remote.origin.proxy "127.0.0.1:1080"其中,1080是代理软件设置的代理端口;如果不进行上述设置,可能会出现下面的问题:Failed to connect to github.com port 443: Timed out原创 2021-08-27 10:25:25 · 1387 阅读 · 0 评论 -
Python pdb在Pytorch的__getitem__中断点调试
问题Python的pdb断点调试不能放在pytorch dataset的__getitem__中,不然会报错但在实际调试的过程中,__getitem__中的内容常常很关键,需要单步调试。解决在创建完dataset后,建立如下断点pdb.set_trace()dataset[0]按s进入就可以发现正好进入到了__getitem__中,之后就可以在通过n或者在getitem中设置其他的断点然后c进行调试了...原创 2021-06-19 10:51:32 · 3003 阅读 · 6 评论 -
usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found
问题安装python的opencv后,尽管python命令下的import cv2不会报错,但执行程序时报错:usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found解决通过strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC查看有的GLIBCXX_3.4.XX,果然没有.26=====对于3.4.26,通过安装libstdc++6和gcc-9成功解决原创 2021-06-17 15:59:02 · 1260 阅读 · 0 评论 -
opencv libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var
目录问题解决问题conda虚拟环境下opencv导入时报错opencv libharfbuzz.so.0: undefined symbol: FT_Done_MM_Var解决问题的原因是虚拟环境下的libharfbuzz.so.0和系统/usr/lib/x86_64-linux-gnu下的libharfbuzz.so.0不一致。修改为一致即可。具体包括:locate libharfbuzz.so.0查看路径,获取虚拟环境下的路径和系统内的路径删除虚拟环境下的出错的sorm ~原创 2021-06-17 15:58:35 · 3578 阅读 · 0 评论 -
mount: /mnt/: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<ty
问题Ubuntu挂载CIFS类型网盘时,报错:mount: /mnt/: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<ty解决参考https://askubuntu.com/questions/525243/why-do-i-get-wrong-fs-type-bad-option-bad-superblock-errorThe error message men原创 2021-06-16 16:30:14 · 7964 阅读 · 0 评论 -
error: invalid zip file with overlapped components (possible zip bomb)
问题正常下载的压缩文件(KITTI)用unzip命令无法解压缩,但压缩文件本身是没有问题的。解决参考https://blog.csdn.net/weixin_41919236/article/details/85936680即先安装p7zipsudo apt-get install p7zipsudo apt-get install p7zip-fullsudo apt-get install p7zip-rar再使用p7zip进行解压7z x 001.zip...原创 2021-06-16 14:03:29 · 21604 阅读 · 6 评论 -
IndentationError: unindent does not match any outer indentation level 使用VS code搜索功能解决
目录问题描述解决方法原载于 我的博客问题描述复制一段代码后出现下述错误:File “add_noise.py”, line 23p_signal = np.sum(img1**2)^IndentationError: unindent does not match any outer indentation level应该是在23行附近存在缩进错误。代码如下:但把23行前两列空格删去后按 tab 错误依旧存在.解决方法在VS code中按ctrl + f, 并搜索 空格根原创 2021-06-02 11:29:09 · 746 阅读 · 0 评论 -
SSL_connect: SSL_ERROR_SYSCALL in connectiontogithub.com:443
这里写自定义目录标题问题描述解决SSL_connect: SSL_ERROR_SYSCALL in connectiontogithub.com:443的一种可能及解决方法问题描述clone github仓库时报错:SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443解决网上查到的大部分文章都是说因为开了代理,导致报错,因此通过git config --global --unset http.proxy如:ht原创 2021-05-28 11:57:26 · 969 阅读 · 0 评论 -
Matlab for循环动态图无法添加legend的一个可能原因
代码如下:function compare_rectdata(data1,data2) figure for ia = 1:1:64 for ib = 1:1:64 rec = plot(squeeze(data1(ia,ib,:))/100,'red--'); hold on; gt = plot(squeeze(data2(ia,ib,:)),'b--'); pause原创 2021-05-15 17:02:43 · 989 阅读 · 0 评论 -
torch.nn.modules.module.ModuleAttributeError: ‘Network‘ object has no attribute ‘copy‘
错误原因save和load的代码不匹配.解决办法匹配即可,例如case1若save代码为torch.save(network.cpu().state_dict(), model_name)则load的代码应为network.load_state_dict(torch.load(model_name))case2若save代码为torch.save(network, model_name)则load的代码应为network.load_state_dict(torch.load(原创 2021-05-14 21:25:40 · 2365 阅读 · 0 评论 -
RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
在程序最开始的地方加上:torch.multiprocessing.set_start_method(‘spawn’)即可解决,如下第二行所示:if __name__=='__main__': torch.multiprocessing.set_start_method('spawn') args = config_parser().parse_args() data_loader = CreateDataLoader(args) train()其他详细的解释和原创 2021-05-14 21:18:33 · 24424 阅读 · 2 评论 -
pytorch保存数组到matlab .mat格式
网上找的代码都有一些问题,官网上的代码解决了遇到的错误:from scipy.io import savemata = np.arange(20)mdic = {"a": a, "label": "experiment"}>> mdic{'a': array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]),'label': 'experiment'}sav原创 2021-04-20 15:57:35 · 2748 阅读 · 0 评论 -
ImportError: //site-packages/../../libopencv_dnn.so.3.4: undefined symbol: _ZNK6google8protobuf7Mess
import cv2报错ImportError: /lib/python3.6/site-packages/../../libopencv_dnn.so.3.4: undefined symbol: _ZNK6google8protobuf7Message25InitializationErrorStringB5cxx11Ev原因https://github.com/ContinuumIO/anaconda-issues/issues/9601#issuecomment-397340727解决原创 2021-04-15 09:53:18 · 597 阅读 · 0 评论 -
使用Hugo搭建的Netlify网页如何加速访问?
问题:国内访问Netlify有些卡,因此希望能够部署到别的平台上加速访问。解决方案:方案1:将项目拷贝到阿里云服务器中;使用hugo进行编译:hugo server这里一个坑:1313拒绝的原因是没有bind,应该是:hugo server --bind "0.0.0.0" -b "http://ip:1313"从而能够从阿里云访问;方案2:继续使用hugo生成public中的静态网页;、上传到github后再使用vercel等进行加速。...原创 2021-03-26 00:22:19 · 781 阅读 · 0 评论 -
Conda镜像源错误 ConnectionError(ReadTimeoutError(“HTTPSConnectionPool(host=‘mirrors.tuna.tsinghua.edu.cn‘
报错信息Collecting package metadata (repodata.json): failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/repodata.json>Elapsed: -An HTTP error occurred when trying to retrieve原创 2021-01-20 11:44:39 · 6374 阅读 · 2 评论 -
Ubuntu E: Unable to correct problems, you have held broken packages
问题Ubuntu 16.04安装npm时报错,代码如下:sudo apt-get install -y npm解决方法改为如下代码后解决apt install aptitudsudo aptitude install -y npm参考:https://www.cnblogs.com/zhaojingyu/p/11102789.html原创 2021-01-16 10:11:21 · 3744 阅读 · 0 评论 -
面试题51 数组中的逆序对 分治算法 归并排序
题目在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000思路1 暴力求解对数组中的每一个数Xi,它的后面有ni个比它小的数,则有多少个以数Xi开头的逆序对。所以,总对数为:其中N为数组长度。得到如下代码:class Solution: def reversePairs(sel原创 2021-01-11 22:04:18 · 313 阅读 · 0 评论 -
使用Python+Opencv+Flask将windows端的摄像头变为网络摄像头的方法
问题描述为了给半夜实验室的老鼠拍照,想给台式机按一个usb摄像头,并实现对该摄像头的实时远程访问,即将台式机(windows 10)的usb摄像头变成一个网络摄像头。解决方法:使用已有的软件:本以为这个问题是一个很成熟的问题,windows端合适的软件应该有很多(比如android端),但没想到找了一个小时只找到了收费的...原创 2021-01-08 11:38:33 · 3442 阅读 · 3 评论 -
matlab把一组点绘制到坐标轴上
输入:detect_point: 1024*2 double绘制:scatter(detect_point(:,1),detect_point(:,2))结果:举例:% 梯形pointNumber = 32detect_point = []for im=1:10:10.*pointNumber for in=1:10:10.*pointN...原创 2020-01-08 20:54:23 · 3609 阅读 · 0 评论 -
Python 验证时间复杂度的一种方法: 以list内置函数sort()和count()为例
当使用内置函数的时候,有可能不太确定时间复杂度大概是多少。参考链接的内容,以None操作,list的sort()和count()为例,本文给出了一种大致验证时间复杂度的代码。但该方法精度有限,只能用来大概看一看。方法通过timeit库,给出不同n下的耗时Tn (1<=n<=N),并以N为横坐标,T为纵坐标绘制成图像,根据图像大概判断函数的时间复杂度。代码import timeitfrom math import log10 from math import lo..原创 2020-11-03 11:38:30 · 2092 阅读 · 0 评论 -
两种PSNR计算方法相差很大的一种可能原因——数据类型与计算精度
问题描述有两个PSNR的计算代码。代码1def PSNR(img1, img2): pdb.set_trace() mse = np.mean( (img1 - img2) ** 2 ) if mse == 0: return 100 PIXEL_MAX = 255.0 psnr = 20 * math.log10(PIXEL_MAX / math.sqrt(mse)) print(psnr) return psnr代码2def getpsnr(img1,img原创 2020-10-15 21:53:38 · 4152 阅读 · 4 评论 -
IEEE xtreme 练习3:Backtracking--Let’s Cheer Up Bob
Backtracking: 回溯法题目描述Let’s Cheer Up BobTime limit:1000 msMemory limit:128 MBBob is the world’s worsttic-tac-toeplayer. He has never won a game. You, being a good friend, are determined to help him win his first game. You will insist that Bo...原创 2020-10-05 21:39:01 · 370 阅读 · 0 评论 -
IEEE xtreme 练习2: Ad Hoc-- Elementary
题目来源https://csacademy.com/ieeextreme-practice/task/c787255968c972c653677a52599ecc2f/statement/题目ElementaryTime limit:1000 msMemory limit:128 MBWrite a program that converts a word in the English dictionary (a string of lower case letters) in...原创 2020-10-04 16:21:35 · 501 阅读 · 0 评论 -
WGAN-GP Gradient Penalty Loss爆炸
问题描述前一段升级了Pytorch(从0.4.0升级到了1.1.0),这几天用多块卡跑一个判别器用了WGAN-GP的网络。当使用单张GPU时,一切正常;但当使用多块GPU时,D Loss会爆炸!爆炸原因是其中的Gradient Penalty分量爆炸!问题原因:参考这篇震惊的文章:震惊!!!PyTorch实现的WGAN-GP竟会爆炸发现是pytorch版本的问题。解决方案:把pytorch更新到最新版本(1.6.0)即可。anaconda的更新方法:con..原创 2020-08-30 10:19:07 · 2417 阅读 · 2 评论 -
Pytorch每次训练到Epoch1最后出现size不匹配的一个可能原因
原因:在网络本身有随机变量的情况下,随机变量很可能是在定义网络时按照预设的batchSzie确定的维度。这样,如果总的训练集的Size不能被batchSize整除,就会出现网络输入数据的Size和生成的随机变量的size在Batchsize那个维度上不匹配的问题,从而报错。解决:调整BatchSize使其能够整除Size;或调整数据集大小使其能够被BatchSize整除。或检查输入数据的batchsize,当它和预设的batchsize不匹配时强行补齐;总结之..原创 2020-08-20 10:57:09 · 5091 阅读 · 7 评论 -
torch.mm, torch.matmul 和torch.mul的区别: RuntimeError: 2D tensors expected, got 4D
点乘:torch.multorch.mul(a, b)是矩阵a和b点乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵矩阵乘法:torch.mm和torch.multorch.mm(a, b)是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵torch.matmul则可以用于两个图片矩阵相乘,如a的维度是[bs,3,128,256]; b的维度是[bs, 3, 256,512],.原创 2020-08-16 11:49:54 · 1524 阅读 · 0 评论 -
代码运行记录 || Computational Mirrors: Blind Inverse Light Transport by Deep Matrix Factorization
Computational Mirrors: Blind Inverse Light Transport by Deep Matrix FactorizationMiika Aittala, Prafull Sharma, Lukas Murmann, Adam Yedidia, Gregory Wornell,William T. Freeman, andFrédo Durand论文Github地址:https://github.com/prafull7/compmirrors论文原...原创 2020-08-11 22:08:32 · 468 阅读 · 0 评论 -
ValueError:optimizer got an empty parameter list 的一个可能错误
今天有一段代码总是跑不通,报错如下Traceback (most recent call last): File "1.py", line 28, in <module> optimizer=optim.SGD(model.parameters(),lr=1e-3) File "/share2/home//anaconda3/envs/python36/lib/python3.6/site-packages/torch/optim/sgd.py", line 64, i...原创 2020-08-11 15:51:33 · 38708 阅读 · 13 评论 -
RuntimeError: set_storage_offset is not allowed on a Tensor created from .data or .detach().
报错信息Traceback (most recent call last): File "selfdeblur_ycbcr.py", line 91, in <module> net_input_kernel.squeeze_()RuntimeError: set_storage_offset is not allowed on a Tensor created from .data or .detach().If your intent is to change the ...原创 2020-08-09 14:59:18 · 4058 阅读 · 3 评论