科研工具
文章平均质量分 61
蛐蛐蛐
个人主页:https://quyu.github.io/
展开
-
多个nvidia GPU怎么限制功率
这也是个很简单的问题,我简单总结一下,目前在家里有一台双3090涡轮版的PC,声音真的很大,可是很多时候我们其实并不需要其功率很好,只要显存够用就可以。看有些人说Ubuntu上现在不能设置,可是我在24.04上测试是可以设置的。另外,上面的文章往往只提到用一个GPU时的情况,我总忘记怎么指定两个卡。重启后需要重新运行。原创 2024-09-22 21:37:14 · 403 阅读 · 0 评论 -
Windows 11上pip报‘TLS/SSL connection has been closed (EOF) (_ssl.c:1135)‘的解决方法
然后再运行pip就可以正常安装了。感觉在国内装环境,百分之50的时间都是在处理和网络相关的问题,呵呵呵。原创 2024-09-11 11:17:41 · 1160 阅读 · 0 评论 -
调用Ollama API的时候怎么指定输入长度(上下文长度)
这样就指定了上下文长度为8192。原创 2024-08-15 21:42:06 · 612 阅读 · 0 评论 -
Ubuntu 24.04上报:Error: could not connect to ollama app, is it running?的解决方法
其实User,Group之类的都不需要修改,主要是要加上端口号才能正常运行。原本42GB的qwen2:72b变成49GB了,interesting,虽然大小只变化了一点,但在CPU上之后速度慢了很多。可以看到服务是active的。说起来这个问题真实让人无语。原创 2024-08-10 22:36:06 · 2409 阅读 · 1 评论 -
在Ubuntu 24.04上安装ollama报curl: (28) Failed to connect to github.com port 443的解决方法
在一个新的Ubuntu 24.04上安装Ollama,结果报类似于:curl: (28) Failed to connect to github.com port 443 after 136027 ms: Couldn't connect to server的错,想想可能还是网络的问题。则不能解决问题(和上面这些稍有不同,我这里查到的github.com的网址是:140.82.112.3)。发现这样确实可以解决问题。如果socks5代理应该这样写(我之前参考的这篇博客。发现这种方法依然不能解决问题。原创 2024-08-05 22:57:05 · 1099 阅读 · 0 评论 -
Windows系统上怎么设置Ollama环境变量
例如我们在windows环境变量中可以把OLLAMA_KEEP_ALIVE改成1h,OLLAMA_NUM_PARALLEL改成2,就可以同时有两个并发访问,并且驻留时间为1h了(如果用ollama ps则会显示59 minutes)。如果要改驻留时间,就修改OLLAMA_KEEP_ALIVE,那这个环境变量是什么单位呢?原创 2024-07-22 10:09:57 · 2108 阅读 · 0 评论 -
Resource punkt not found.的解决方法
中间这句我注释掉了,可以用来设置http代理。运行以后出现图形界面——选择Models,然后就可以看到punkt,然后通过键盘上下键选择到punkt这一行,再点Download即可下载。这个问题本来不想记录,但是在好几个机子上都碰到了(用到了LangChain读Word文档)。原创 2024-06-26 19:24:45 · 294 阅读 · 0 评论 -
使用LangChain+Ollama的时候怎么使用其他的embedding模型
其中有两个是Deprecated的,而我们平时用到的HuggingFace的embedding model都基本以SentenceTransformer形式提供,我测试了一下,embeddings.huggingface.HuggingFaceBgeEmbeddings这个类是可以使用的,embeddings.huggingface.HuggingFaceInstructEmbeddings这个会报错,也没有仔细检查原因。经过测试,发现比Ollama自己的embedding模型的中文效果好多了。原创 2024-06-25 09:23:55 · 2625 阅读 · 2 评论 -
在Windows上用Llama Factory微调Llama 3的基本操作
我们构造数据集的时候,最简单的方法就是只构造instruction和output。当然,如果训练数据集比较小的话,测试的效果也不会太好。如果大家只是想对微调效果和特定问题进行展示,可以训练模型到过拟合,呵呵呵。训练完成后切换到Export,然后在上面的“微调方法”——“检查点路径”中选择刚才存储的目录Train_2024_xxxx之类,然后指定导出文件的目录,然后就可以导出了。不过这时候还没有模型参数文件,对于国内用户而言,可以在这里。选择自己的私有数据集,可以预览一下,然后就可以开始训练了。原创 2024-06-07 17:18:08 · 2582 阅读 · 1 评论 -
怎么通过OpenAI API调用其多模态大模型(GPT-4o)
现在只要有额度,大家都可以调用OpenAI的多模态大模型了,例如GPT-4o和GPT-4 Turbo,我一年多前总结过一些OpenAI API的用法,发现现在稍微更新了一下。其实也是比较简单的,就是本地图片需要用base 64先编码,然后再上传。当然,大家用的时候还是要注意花费,现在感觉还是有点贵的。原创 2024-05-19 20:57:32 · 4304 阅读 · 0 评论 -
Ubuntu中matplotlib显示中文的方法
可以看到/usr/share/fonts/MyFonts(这个文件夹也是新增的)下有很多字体。很多朋友说把字体拷贝到matplotlib目录下,例如我这里:/home/quyu/anaconda3/envs/TranAD/lib/python3.8/site-packages/matplotlib/mpl-data/fonts,但是个人感觉应该放到上面这个fonts文件夹的ttf目录下。这看起来就很清楚了,另外,从这个json看,是不是不拷贝到ttf目录下也能找到?这个我没测试,感兴趣的朋友可以试试!原创 2024-02-23 11:03:40 · 775 阅读 · 0 评论 -
MathType里怎么输入手写字体
在MathType里输入,首先输入一个正常字母,选中——样式——其他——对话框里选择“Euclid Math One”即可。这篇博客只是简单记录一下。原创 2024-02-21 16:05:53 · 1769 阅读 · 0 评论 -
安装pygraphviz报错——fatal error: graphviz/cgraph.h: 没有那个文件或目录的解决方法
pygraphviz/graphviz_wrap.c:3020:10: fatal error: graphviz/cgraph.h: 没有那个文件或目录。结果报错:requires pygraphviz http://pygraphviz.github.io/原创 2024-01-27 21:55:07 · 1053 阅读 · 0 评论 -
Python调用ChatGPT(gpt-3.5-turbo)的最简单例子
不知道细节的朋友可以看看我之前的几篇博客。原创 2023-04-23 06:09:32 · 2477 阅读 · 1 评论 -
使用OpenAI API(或ChatGPTAPI)的时候应该选择哪个model
因为GPT-4并不是人人可用的,所以目前gpt-3.5-turbo是最应该尝试使用的。原创 2023-04-21 16:25:04 · 2259 阅读 · 0 评论 -
如何在Ubuntu上方便使用OpenAI API key
其实已经说得很清楚了,在生产环境中,务必通过环境变量加载API key。这样做也能使自己的代码更安全,更方便地和别人共享。即可以设置API key了,而且也不怕key通过代码泄密,只有能访问你操作系统的人(也就是你自己)才能看到。就可以看到你的API key了。原创 2023-03-26 08:28:53 · 3366 阅读 · 2 评论 -
怎么样使用OpenAI的Python API
其次,如果在刚才第一个页面中点Sign up,然后登录,在右上角自己用户名的图标点一下,可以看到有“View API keys”,然后就可以创建或者使用自己已有的API key了。有趣的是,生成了的API key,第二次在网站上也看不到字符串了。可以在嵌入之前先计算一下序列的长度,但文档里并没有说超长了怎么处理,是截断还是直接不处理了呢。这样就会列出所有的model名字,不过大家应该注意,每一次API调用都是要收钱的,我也不知道打印个list需要收钱不,保险起见,不运行也可以。原创 2023-03-26 07:41:18 · 1467 阅读 · 0 评论 -
unsupported GNU version! gcc versions later than 10 are not supported! 的解决方法
然后按序号选择一个老的版本,再看version,果然已经变成低版本了。再重新安装torch-scatter,果然就好了。今天尝试使用别人一个项目(原创 2023-03-20 16:53:18 · 1280 阅读 · 0 评论 -
NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver的一种简单解决方法
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver的一种简单解决方法原创 2023-03-19 09:48:24 · 675 阅读 · 0 评论 -
使用Python Seaborn绘制热力图(heatmap)的时候怎么改变配色
【代码】使用Python Seaborn绘制热力图(heatmap)的时候怎么改变配色。原创 2023-02-03 17:11:24 · 6996 阅读 · 3 评论 -
怎样在Ubuntu 22.04上使用Joern处理Java源码
经过网友的提醒,我发现现在的Joern确实可以处理Java源码了,这里简单介绍一下,在一台新的Ubuntu 22.04系统中怎么使用Joern。原创 2022-12-22 05:54:41 · 1118 阅读 · 1 评论 -
使用Python的csv.writer的时候怎样包含双引号
定义好writer之后写每一行就可以了:writer.writerow(row)可以看到这个参数默认使用。原创 2022-12-10 08:50:24 · 2227 阅读 · 1 评论 -
基于Conda的PyTorch Geometric报“段错误 (核心已转储)”的解决方法
来看,目前(2022年11月),PyTorch稳定版本是1.13.0,而从第二个网页来看,PyG最多支持的PyTorch版本是1.12.*,所以应该安装更老一点的PyTorch。另外,从上面两个网页来看,最好是全都使用conda安装。也会报“段错误 (核心已转储)”。捜了一下,发现主要是因为PyTorch和PyG的版本不对应所致。大家都提到要注意PyTorch和PyG的版本的对应。发现都通过Conda安装后,是可以解决上面的“段错误 (核心已转储)”的报错的。怎么感觉PyG的开发有点滞后了呢?原创 2022-11-13 17:10:57 · 1872 阅读 · 0 评论 -
在Ubuntu 22.04上安装CUDA和cuDNN的经验记录(2022年11月)
会直接提示:Failed to verify gcc version. 安装gcc后,不用做降级,就可以直接运行了。安装方式也变多了很多。我之前的博客也已经写得很清楚了。原创 2022-11-13 11:55:01 · 2478 阅读 · 0 评论 -
解决Python 3报:bad magic number in XXX的解决方法
目前发现下面这个方法是最简单的,所以简单记录一下:其实删掉.pyc文件即可,但有时候由于anaconda之类的存在,我们都不太好定位到底是哪里的.pyc文件出了错,解决方法也很简单,在一个大的目录下,终端打开,运行:原创 2022-09-10 11:32:30 · 5639 阅读 · 3 评论 -
怎样在LaTeX中方便输入带圆圈的数字
我也是同感,不教会别人怎么用,说那么多有什么意义?第一个\normalsize指定了圆圈的大小,后面一个\normalsize是为了使正文中的其他字体恢复正常。如果使用\textcircled,数字编号大的时候,数字会跑到圆圈外面。最后给出一个具体示例,大家看看便知,再吐槽一下,写博客是为了帮助大家解决问题,不是炫自己的知识,第一篇博客我看了好久,还是不会用。小四号 12pt 4.2175mm \normalsize。四号 13.75pt 4.83mm \large。原创 2022-09-03 12:28:34 · 19619 阅读 · 5 评论 -
在IEEE会议论文LaTeX模板中添加页码
这个问题我已经碰到过很多次了。先说一下原因:我们提交会议论文的时候,如果不设置,一般是没有页码的。但是从审稿人和控制页数的角度,都是加上页码以后方便(例如Reviewer直接说Page X有YYY问题)。这样第一页是没有页码的,但是并不妨碍Reviewer的工作。原创 2022-09-03 05:48:14 · 3595 阅读 · 0 评论 -
怎样使用Scrapy爬取NVD网站上的数据
不过遇到新的需求的时候,还是想记录一下。不过因为只是简单记录,所以这篇博客很水。就简单总结这么多,应该说我对Scrapy这个爬虫的使用算是相当了解了。原创 2022-08-27 02:07:14 · 859 阅读 · 0 评论 -
Transformers的RoBERTa model怎么使用word level的tokenizer
不得不说,和上面相比,差别有点大啊(例如:tokenizer = Tokenizer(WordLevel()),以及必需要加tokenizer.pre_tokenizer = Whitespace()这一行)。其实这个问题应该是很好解决的,想不到竟然花了3个多小时。我去,这个原因我也是醉了,所以最后手动建立一个空白的merges.txt文件,然后就可以正常保存和使用这个tokenizer了。从之前说的RoBERTa的示例代码可以知道, 需要再重新加载的tokenizer需要在一个文件夹下,所以这个也不行。原创 2022-08-24 12:32:20 · 1850 阅读 · 4 评论 -
将transformers的tokenizer处理之后(如BPE)的序列映射回输入序列
从上面的输出中可以看到,encoded['input_ids']对应的就是输入到transformer encoder的tensor输入,.tokens()返回的是tokenize以后的token,.word_ids()返回的是tokenize以后的token的编码(而并不是输入sequence的)。为了展示方便,省略了之前很长的那些print,可以看到,最后生成的这个word_2_token_mapping是完全正确的。,这个和API文档里说的完全不一样啊。,这个表明的是在原输入序列中的位置。原创 2022-08-20 12:36:30 · 1351 阅读 · 1 评论 -
Ubuntu上运行ProbLog程序的基本方法
这篇博客很简单,接上一篇:在Ubuntu上安装并运行DeepProbLog的简单过程_蛐蛐蛐的博客-CSDN博客。其实要运行ProbLog代码是相当简单的,如上一篇博客中所说的,首先安装engine:原创 2022-08-01 12:29:56 · 308 阅读 · 0 评论 -
在Ubuntu上安装并运行DeepProbLog的简单过程
可以通过binary形式安装,照着输入命令就可以了,然后再运行pythonaddition.py,发现就可以正常开始训练了。,原来是个Prolog的engine,想不通,我只想运行一下这个model,为啥还要装Prolog呢,这个model不是基于Problog的吗?就是论文里说的图像数字相加的例子。这篇博客只是简单记录一下,没什么技术含量。...原创 2022-07-26 14:47:20 · 339 阅读 · 0 评论 -
Ubuntu 20.04上安装Datalog Disassembly工具的过程
这篇博客只是简单记录和吐槽一下。Datalog Disassembly发表于USENIX Security 2020。GitHub repo是:GitHub - GrammaTech/ddisasm: A fast and accurate disassembler看到其repo上说所以试一下怎么通过安装这个GTIRB来安装Datalog Disassembly:GitHub - GrammaTech/gtirb: Intermediate Representation for Binary analysi原创 2022-06-29 08:01:05 · 619 阅读 · 0 评论 -
Ubuntu更新Node.js时遇到的“由于没有公钥,无法验证下列签名: NO_PUBKEY”的解决方法
这个问题说来比较绕,主要是因为我系统上的node.js版本太低了,想安装新的版本,参考这里的说明:https://github.com/nodesource/distributions/blob/master/README.md首先输入:结果就报了下面的错:我这里特别想吐槽一下:这个源不能用就不用了呗,为啥就exit了,这是什么傻叉逻辑???于是得想办法解决这个报错。看到一些朋友说是加入签名,更新/etc/apt/sources.list文件,删除软件源等等(例如:sudo apt-get updat原创 2022-06-19 13:37:13 · 2108 阅读 · 2 评论 -
如何用O1编译Linux Kernel并禁止inlining
这已经是这个系列的第四篇博客了(上一篇是怎样用O0来(尽可能地)编译Linux Kernel_蛐蛐蛐的博客-CSDN博客),但是还是很多问题没有解决。上一篇博客中说了用O0编译的方法,但是O0编译的很不全,还是有报错,我也没有精力挨个去解决error,想着O1似乎也可以用,就想试试,找了找,可以参考这篇博客里的方法:如何在编译linux内核时不优化内核以便于调试内核?_weixin_30662109的博客-CSDN博客具体而言,还是先将Makefile中的O2,O3,Os等等都改成O1,其次,按照上面原创 2022-06-17 12:20:37 · 466 阅读 · 0 评论 -
怎样用O0来(尽可能地)编译Linux Kernel
这篇博客接前面两篇:在Ubuntu上编译特定版本的Linux Kernel_蛐蛐蛐的博客-CSDN博客和怎样编译Linux Kernel中的尽可能多的源码_蛐蛐蛐的博客-CSDN博客。有时候我们想尽量用O0来编译Kernel,以进行一些后续分析,但是就像上面第二个链接中说的,基本上用O0编译是很难的。我主要参考了一下这篇博客:使用-O0编译Linux内核_玉双龙的博客-CSDN博客首先,将makefile中的O2,O3,Os都改成O0。(我这里依然以v5.12-rc2为例)其次然后这时候就会有下原创 2022-06-13 13:14:39 · 1422 阅读 · 0 评论 -
怎样编译Linux Kernel中的尽可能多的源码
在上一篇博客:在Ubuntu上编译特定版本的Linux Kernel_蛐蛐蛐的博客-CSDN博客中,我介绍了编译Linux Kernel源码的基本过程,但是如果按照menuconfig默认选项来编译的话,生成的binary file个数很少,明显和源码的规模不符。那怎么编译其中的所有源码呢?这里有朋友进行了解释:How to make all features compile to modules in kernel compilation? - Stack Overflow也就是说,首先执行:再执行原创 2022-06-09 04:36:40 · 264 阅读 · 0 评论 -
在Ubuntu上编译特定版本的Linux Kernel
由于实验需要,我得在Ubuntu上编译特定版本的Linux Kernel,网上的教程已经很多了,不过有的有错,有的不完整,所以再自己简单总结一下。需要注意的是,我这里只编译生成一些binary files,并不安装内核。例如我需要编译这个版本:Linux kernel v5.12-rc2,解压之后终端进入文件夹,首先就是安装一些必要的工具,注意到网上有些浏览量很大的教程也缺少了这一步,例如:Linux内核编译_ibless的博客-CSDN博客_linux内核编译其次就是和编译其他项目一样,需要有一个C原创 2022-06-08 13:56:57 · 679 阅读 · 0 评论 -
Ubuntu 20.04上编译OpenSSL的编译选项设置
由于实验需要,我想简单看看怎么在编译OpenSSL的时候设置编译选项,之前都是用的默认选项,例如这里:怎样在BinaryNinja中查看Vulnerable的function(以HeartBleed CVE-2014-0160为例)_蛐蛐蛐的博客-CSDN博客首先下载一个对应版本,例如我在这里:/source/old/3.0/index.html下载了openssl-3.0.0.tar.gz。解压之后进入文件夹。搜了一圈发现,虽然介绍的博客很多,但是基本上大家都没有详细介绍编译选项,例如这里的介绍:linu原创 2022-06-07 12:12:54 · 2451 阅读 · 0 评论 -
怎样将PDF作为矢量图插入PPT中
关于这种问题,我已经研究过很多了,例如这几篇博客:Matlab中的图怎样插入Word效果最好_蛐蛐蛐的博客-CSDN博客Visio中画的图怎么更清晰美观地插入LaTeX中(Visio 2016)_蛐蛐蛐的博客-CSDN博客_visio画图插入latex想不到研究尝试了这么多,还是能学习到新的经验,看来真是活到老学到老啊…… 总体来说,Visio画的图可以直接保存成PDF,包含在论文里。MATLAB的图也一般保存成PDF。另外,我现在不太喜欢把eps等转成emf放在ppt,因为有时会遇到字体嵌入的问题原创 2022-05-31 11:47:03 · 7587 阅读 · 1 评论