- 博客(68)
- 资源 (10)
- 收藏
- 关注
原创 【ssh_config】SSH中配置多个private key
当要使用多个不同的private key登录不同的主机时,我们可以在ssh命令里面用-i参数指定每次使用的private key文件。但是这样做比较发麻而且容易出错,我们可以利用文件,在让ssh自动为我们决定应该使用哪个key。
2023-10-21 06:29:49
1513
原创 命令行中选择VC编译器版本
当使用Visual Studio Installer安装了多个版本的VC编译器时,可以使用 vcvarsall.bat 工具在命令行中加载指定版本和架构的工具链。
2023-03-09 08:18:05
1698
原创 Latex参考文献中长URL自动分行显示
先上结论:网上有很多或新或旧的解决方法,这是我找到的最简单有效的解决方案:\usepackage[hyphens]{url}\usepackage{breakurl}核心原理是使用breakurl包。注意事项1:默认是会在/、(、#、.之类非普通字符处分行。但是如果长url中有大量的-(连字符),那么一定要给url传入参数hyphens。否则连字符部分是不会自动分行的。如果URL中没用长-注意事项2:如果使用了出版社的style,可能会分行失败,这多半是出版社的style文件里面使用默认
2021-10-21 08:07:34
9856
1
原创 更换Latex模板后部分包的参数失效问题的解决方案(如xcolor,algorithm2e)
有些Latex模板,比如新版本的ACM模板,自己会做很多工作,比如以默认方式导入很多包,如xcolor,graphicx等。此时如果需要带参数导入这些包,就会出错,或者这些参数不起作用。比如使用\usepackage[dvipsnames]{xcolor}导入xcolor包之后,我们可以在基础的19种颜色名称之外还可以使用dvips预定义的另外68种标准颜色名称而不需要自行使用它们的RGB值定义它们,比如OliverGreen、Maroon等。这个功能对使用listing包导入代码时非常有用,可以将关键字
2021-10-07 06:26:27
2989
原创 2个有用的Python命令行下可视化、调试、分析工具
loguru - 打印异常显示显示异常时的调用栈和各参数值。https://github.com/Delgan/logurupip install logurusnoop - 打印执行情况显示正在执行的代码,变量值,执行时间。https://github.com/andrewparkermorgan/snoophttps://pypi.org/project/snoop/pip install snoopheartrate - 实时显示执行情况实时显示Python程序的运行情况。s
2021-04-30 12:17:24
681
4
原创 4个非常有用的python内置数据结构(array, defaultdict, named tuple, counter)
arrayPython不仅仅可以使用内置的list实现数组,还支持像C语言那样的指定类型的原生数组array。很显然,因为list可以存储各种类型的对象,而array只存储一个指定的原生类型,所以当数据量较大时,原生array在内存占用方面要比list小。而且array不像C语言里那样在定义时就限制了大小,它支持list所支持的各种常用函数。相比之下Python的array更像是C++的vector。from array import arrayl = list(range(100))a = a
2021-04-28 10:32:25
364
1
原创 PyTorch里eval和no_grad的关系
首先这两者有着本质上区别。model.eval()是用来告知model内的各个layer采取eval模式工作。这个操作主要是应对诸如dropout和batchnorm这些在训练模式下需要采取不同操作的特殊layer。训练和测试的时候都可以开启。torch.no_grad()则是告知自动求导引擎不要进行求导操作。这个操作的意义在于加速计算、节约内存。但是由于没有gradient,也就没有办法进行backward。所以只能在测试的时候开启。所以在evaluate的时候,需要同时使用两者。model =
2021-02-13 08:14:19
1079
1
原创 修改PyTorch预训练模型的下载路径
PyTorch可以下载很多预训练好的神经网络,用起来会很方便。但是默认的下载路径是用户根目录下的.cache文件夹。在Linux和Mac下还比较符合用户习惯,但是在windows下就是C:\Users\<username>\.cache。不仅不符合很多windows用户的使用习惯而且不利于文件的保存。另外如果是多人共享的Linux服务器,每个用户都下载一遍这些训练好的神经网络明显是一种浪费。最好是放置在/var、/opt或者/usr/local等一类共享目录里。但是默认情况下,PyTorch里
2021-01-06 11:41:37
17977
4
原创 利用coalesce加速Spark迭代计算
问题:join导致partition数量膨胀Spark把每一个RDD分割为若干个partition,每一个partition上的计算是一个独立的task。每个task在执行的时候都是独立schedule的,都需要执行一遍完整的排序、系列化、计算、反序列化工作。这其中很大一部分工作的开销基本都是恒定的,不随partition中数据的多少而变化。所以当一个RDD的partition过多的时候,计算时会有很大的overhead。在计算的过程中,我们经常需要把两个或更多的变量放在一起做些计算,我们通常会用到j
2020-10-13 07:39:02
416
原创 巧用localCheckpoint加速Spark上的迭代计算(break lineage)
Spark和迭代计算Spark是一个基于lineage的计算框架。它通过lineage记录了数据从加载以来的所有操作,这样一方面让spark可以轻松地实现lazy execution,另一方面当发生问题的时候,可以准确地进行数据恢复。我们可以这样理解:Spark把一个数据X抽象为一个RDD。在这个RDD里面Spark不仅记录了X的值X.data,还通过一个DAG记录了它是怎么计算得来的X.lineage。这种设计非常适合对于普通的数据处理任务,但是对于数据需要不断循环优化的分析任务(特别是迭代优化类
2020-10-09 13:00:27
905
原创 Hadoop中共享全局信息的几种方法
搞不懂这么久以前的一篇纯技术文章,居然突然说包含敏感词,给我下架了,让我重新发。。。------在编写Hadoop MapReduce程序的过程中有时候需要在各个Mapper或者Reducer中使用一些共享的全局数据,例如在处理整数数据表格的时候有时候需要让每个Reducer知道各个列的取值范围或是一些图算法中需要让各个Reducer知道图的连通关系。加入key/value...
2020-02-06 10:55:22
6045
原创 conda依赖关系可视化工具:conda-tree
conda依赖关系可视化工具:conda-tree前言原理安装依赖主体用法前言有时候由于特定的依赖关系,比如以前安装的包X要求它依赖的A包的版本必须低于2.0,会导致新的包无法正常安装或升级。比较常见的情况是当安装新包的时候,conda会选择它的一个比较旧的版本。比如最近我就遇到了pytorch被强制锁定在1.2版本上,而无法安装最新的1.4版本。经过我查看依赖关系发现,这是以为我安装的to...
2020-02-06 10:35:17
4480
原创 升级Debian版本操作总结
文章目录升级Debian操作过程的总结准备升级清理升级Debian操作过程的总结关于升级Debian的主版本,官方有非常详细的文档:https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.html其中关键操作为升级当前系统中的包至最新版,然后修改/etc/apt/sources.list为新版本的内容,并...
2019-03-02 15:15:07
14140
原创 Debian/Ubuntu清理无效包、废弃包、冗余包、rc包
文章目录清理Debian、Ubuntu中的冗余包remove与purge清理作废包清理rc包清理Debian、Ubuntu中的冗余包在升级系统版本之后,或是在删除了第三方源之后,一些包就会变为无法更新的冗余包。一个常见的现象是升级系统前,某个程序A依赖了旧版本的库libX.1.1,在升级系统之后另一个程序B依赖了新版本的libX.1.2。再由于某些依赖原因,A没有被升级为依赖libX.1.2...
2019-03-02 14:25:51
10961
2
原创 Ubuntu 18.04 添加自定义app到桌面和搜索栏
创建.desktop文件按照下面这个格式填写你要用的.desktop文件。其中Exec是必须的,启动参数也可以添加在后面,Name也是必须的,用于搜索和显示。Comment和Icon可以忽略。如果是命令行脚本并且想要看到命令行,可以把Terminal后面改为true。#!/usr/bin/env xdg-open[Desktop Entry]Version=1.0Type=Appl...
2018-07-17 16:10:50
8000
2
原创 在VS Code中开启gdb的pretty-printer功能
VS Code中开启GDB的pretty-printer功能准备pretty-printerpretty-printer是干什么的众所周知,C++的STL容器的实现并不直观,直接使用gdb之类的debugger查看内存是需要周转多次才能看到具体的内容的。 在Visual Studio之类的IDE中内置了一些脚本,用来较为友好的显示容器内的元素。GDB的pretty-pri...
2018-06-05 11:44:30
11916
8
原创 [笔记] awk命令计算sum, min, max, avg
awk 'BEGIN{max=0;min=9e9}{FS=" "}{x+=$5;if($5>max){max=$5}else if($5<min){min=$5}}END{print x,"\t",max,"\t",min,"\t",x/NR}'讲解: 1. FS指定间隔符 (每一段用$x引用,编号从1开始) 2. BEGIN和END后面为一次性命令,中间的主体部分对每一行执行 3. 类似c
2017-09-18 00:10:13
2912
原创 MPI选择错误的网卡/网段的解决方案
问题及原因在多网卡的情况下,有时候使用多个服务器作为MPI节点时会出现: 1. MPI_Recv之类的读函数读不到任何数据, 2. 或 MPI崩溃并提示无法connect to XXXX,这个XXXX多半是某个配属在其他网段的IP地址。这是因为: MPI默认选择了一个错误的网段尝试进行多机通讯,导致程序交互的失败。例如: 某台机器的网络配置如下:lo 127.0.0.1eth0
2017-02-16 13:52:25
7899
4
原创 Latex常见公式环境与对齐方式小节(重修版)
本文将讨论全局与局部的公式对齐方式的调节,并对比各种常见的公式环境的差异(尤其是在对齐方面),介绍多行公式、多公式的编写方式。 针对各种常见环境(尤其是多行公式环境)的差异,对它们分别适用于哪种应用环境提出建议。本文是在前文的基础上,采用Markdown重置的,调整了部分语言和格式,内容没有核心差异。
2017-01-28 18:03:14
66324
3
原创 G++隐藏"bug"及应对:未特化的模板中的static_assert(false)的两种处理方式
C++11标准新引入的static_assert功能可以实现静态断言,是一个非常强大的模板元编程工具,配合SFINAE特效可以在编译期发现不符合预期的不合理特化,并且给出自定义的错误信息。但是不同编译器的实现却不尽相同,于是招致了一些不必要的麻烦。g++为了效率,在某些情况下会过早、甚至不必要地执行了static_assert断言,导致编译失败。本文给出了这种问题的发生条件、原因与解决方法。
2017-01-28 16:32:22
3329
1
原创 Visio生成eps文件的方法
不使用收费软件要点:使用打印到文件功能使用GSview裁剪多余边框Latex支持情况: 支持latex-dvi-ps-pdf路线不兼容pdflatex,原因:epstopdf包支持有问题步骤:添加打印机,选择本地打印机+输出到文件,建议取名“Print to EPS”打印机设置中,Advance选项卡,展开Document Options-PostScrpit Options,设置
2016-07-25 14:39:09
11398
转载 What’s The Deal With The Git Index?
一篇讲解Git Index究竟是什么,有什么作用的文章。原文链接:http://www.gitguys.com/topics/whats-the-deal-with-the-git-index/Commands discussed in this section:git addgit commitgit ls-filesgit statusgit mvgit rmT
2015-11-10 11:08:54
723
原创 在Git上跨Repository移动文件(合并Repository),并保留修改历史
在Git上跨Repository移动文件(合并Repository),并保留提交记录。需求:Git用久了,总是要整理、合并一些工程的,还希望能保留下来以前的编辑历史。原理:利用Git可以加多个remote,并且分别pull下来的功能。方法:假设是要把repository A的directory 1移动到repository B的directory 1里面去。
2015-11-04 12:38:13
3897
原创 Ubuntu通过源码编译安装Octave 4.0
本教程/笔记,用于指导在Ubuntu及其他Linux系统上如何通过源码安装Octave。Octave简介Octave是GNU旗下代替matlab的数学工具软件,语法与matlab高度兼容,并且支持一些独有的更清晰更符合Linux社区习惯的语法。虽然在一些具体工具包和部分特性和效率上不如matlab,但是对于一般用户,它是matlab的一个有效的合法的免费的替代工具。 3.8版本之前官方没有GUI界
2015-07-14 12:21:36
4114
原创 Win7,Win8中"XXX is not accessible"的问题(应用程序默认配置文件存储位置)
Windows 7,8中”is not accessible”的问题(应用程序默认配置文件存储位置)Windows 7, 8用户在访问ProgramData目录和Documents and Settings目录时,会无法打开并被提示“C:\xxxx is not accessible. Access is denied.”因为权限不足而被拒绝访问。这是因为在Windows Vista以后的Windo
2015-05-14 10:58:25
11993
转载 【转】gdb调试器用法
原文链接:https://code.google.com/p/ldd6410/wiki/GDBDebug原文发布时间: Apr 6, 2010GDB官方文档:http://sourceware.org/gdb/current/onlinedocs/gdb/gdb调试器用法GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可
2015-03-23 22:46:53
764
原创 Hadoop动态添加/删除节点(datanode和tacktracker)
总的来说,正确的做法是优先通过配置文件,再在具体机器上进行相应进程的启动/停止操作。网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置。总的来说添加/删除DataNode和TaskTracker的方法非常相似,只是操作的配置项和使用的命令有微小差异。1. DataNode1.0 配置文件在namenode下修改配置文件conf/mapred-site.xml。关键参数dfs.hosts和dfs.hosts.exclude。注意:不同hado
2014-05-30 18:31:28
7026
原创 linux下创建可引导的U盘系统,使用dd命令进行Linux的ghost
1,通过iso创建可引导的U盘系统。1.0,格式化U盘为FAT32格式linux下可以使用命令mkfs.vfat U盘的设备路径例如:mkfs.vfat /dev/sdb其中U盘的路径可以通过命令df来查看1.1,最简单的方法(但有些情况会失败,而且U盘不能再放其他文件,需要格式化后才能再使用):dd if=ISO的路径 of=U盘的设备路径例如:dd if
2014-05-20 21:47:40
5224
原创 Latex中插入.eps图片遇到的问题 (Unknown graphics extension:.eps)
问题表现为:在Windows下使用pdflatex编译时,所有使用.eps文件的地方都会得到一条错误信息:!LaTex Error:Unknown graphics extension:.eps。不管你用的是\epsfig、\includegraphics还是其他命令,都会遇到这个问题。原因:pdflatex只能支持pdf、jpg、jpeg、png共4中格式的图片。
2014-05-20 18:22:13
50471
10
原创 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方案
最近将ubuntu升级到了14.04,出现了vmware无法启动的情况。具体表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求根据当前内核版本重新编译一些内核模块,但是其中网络模块vmnet总是编译失败。查找相关资料发现原因在于升级到ubuntu 14.04之后现在的Linux内核版本是3.13,这个内核版本修改了一些底层函数,而V
2014-05-12 22:37:56
7142
4
原创 Linux下CD抓轨 创建CUE 压缩为flac全攻略
在Windows下我们一般都使用EAC把抓轨压缩生成CUE的工作一步搞定了,但是在Linux下会稍微麻烦一点,每一步都需要我们自己做。经过我反复搜索和尝试总结了一套还算不错的方法,用到的软件和过程如下。使用到的软件:abcde,mkcue,flac。(它们全都是命令行下的软件)abcde的名字很有意思,他的全名是:a better cd encoder。它依赖cdparanoia
2014-04-22 23:35:42
4819
原创 如何在Linux WPS(Kingsoft Office)中使用windows字体
WPS我就不多介绍了,老牌的国产office软件,近几年强势复出,又推出了原生Linux版,配合wine福昕简直是Linux下办公利器。Chinese: http://community.wps.cn/or http://linux.wps.cn/English: http://wps-community.org/在Linux下金山不敢随随便便把一些非开源非免
2014-03-21 22:55:08
7114
原创 How to use windows fonts in Linux WPS (kingsoft-office)
WPS (kingsoft-office) is one of the best office software in Linux. If you're still using LibreOffice, you must have a try! Of course free.An annoying problem is that you can't use some non-free font in Linux which are common and popular in Windows like
2014-03-21 22:21:30
3187
原创 使用C++11变长参数模板 处理任意长度、类型之参数实例
变长模板、变长参数是依靠C++11新引入的参数包的机制实现的。一个简单的例子是std::tuple的声明:template class tuple;这里的三个点“...”表示这个模板参数是变长的。有了这个强大的工具,我们可以编写更加丰富的函数,例如任意类型参数的printf等。由于这个技术还比较新,还没有见到成熟的用法用例,我把我尝试的一些结果总结如下,希望对大家有帮助。
2014-03-11 23:19:23
28853
1
转载 GDB详解
1 简介GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下: GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3.当程序被停住时,可以检查此时你的程序中所发生的事。 4.动态的改变你程序的执行环境。2 生成调试信
2014-03-04 20:39:10
1045
转载 Linux GCC常用命令:编译流程、第三方库使用及其加载
原载于 http://www.cnblogs.com/ggjucheng/archive/2011/12/14/2287738.html 介绍了CCC的编译流程已经各个步骤使用的指令,以及使用第三方库的方式,最后还介绍Linux运行时加载库的方式。1 简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还
2014-03-04 17:32:10
7098
原创 wine无法运行exe解决方案(Path not find)
针对问题:wine正常安装后,无法运行非Windows自带的exe、bat等其他合法的Windows可执行文件,即自行安装(解压)的Windows程序无法运行。问题现象:在图形界面里面双击exe文件时,弹出一个wine对话框,内容为:"Path not find"。在命令行中使用相对路径执行该文件,提示(假设程序为/home/userx/abc.exe):wine: cannot find L"unix\\home\\userx\\abc.exe"若在命令行下使用完整的路径名也无法运行并会提示
2014-01-09 19:59:50
41861
2
原创 latex中用hyperref和CJK生成中文书签
在latex中使用中文问题多多。为了便于浏览,我们经常加入带有链接功能的书签(bookmark)或者叫目录树、索引,latex中最方便的是使用hyperref宏包,只要导入了它,它就会自动为各种交叉索引加入链接。但是配置不当的时候加入了它可能无法编译,或者可以编译出正常的pdf正文部分但是书签部分全是乱码。
2014-01-02 15:58:03
9236
原创 Latex常见公式环境与对齐方式小节
本文将讨论全局与局部的公式对齐方式的调节,并对比各种常见的公式环境的差异(尤其是在对齐方面),介绍多行公式、多公式的编写方式。针对各种常见环境(尤其是多行公式环境)的差异,对它们分别适用于哪种应用环境提出建议。全局设置全局对齐默认的公式对齐方式是居中对齐。如果全文要大量使用左对齐方式,可以采用在documentclass或者amsmath包前面加上参数fleqn,这样全局的默认对齐方式就是左对齐了
2013-12-26 17:53:03
313592
5
转载 设定Miktex+ CJK+中文字型
转自 http://my.oschina.net/zenologo/blog/60160http://www.cnblogs.com/dearjustine/archive/2010/04/05/1704495.html設定Miktex+ CJK+中文字型1 安裝CJK 1.1 执行"所有程序”/ Miktex 2.9/Maintenance (
2013-12-24 23:10:21
7353
gdb-pretty-printer
2018-06-05
latex链接包hyperref各种选项的官网简明说明
2014-01-02
Lua 5.2.2 windows平台可执行文件、头文件和库文件
2013-11-29
Beginning Lua with World of Warcraft Add-ons
2013-11-11
gnuplot 4.6.3 windows版
2013-10-16
SVN for eclipse4.2(Juno) 包含connector
2012-08-08
MSDOS7.1 安装镜像
2010-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人