- 博客(28)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 C++读取HDF5文件
HDF5是一种跨平台存储(高维)数组的数据格式。HDF5有多种语言的绑定,其中包括C++。在这里我记录了各种踩坑后如何将数据读入C++。
2022-07-24 10:39:38
3598
1
原创 Vim统计中文字数和英文单词数(附针对LaTeX的特殊处理)
在终端中,统计中文字数可以用,统计英文单词数可以用。如何把这个功能集成到Vim中去呢?
2022-06-18 18:27:55
1378
原创 使用Cython在Python和C++间互传大小事先未知的numpy数组
常见的教程如这个问题及回答是将大小已知的numpy数组传入传出C++,如确定会从C++传出大小为M×N的矩阵。方法简单讲就是在Python端分配一个大小为M×N的矩阵,把指向这个矩阵的指针传给C++,C++负责修改矩阵的内容,结束后矩阵就自动“传回”了。然而有时我们事先不知道从C++传回的矩阵是多大,这时我们可以用这个回答所提及的技术,即从C++传回,然后在Python端把它无拷贝地转成numpy数组。从Python传数组给C++也有需要讨论和值得注意的点。...
2022-06-02 16:55:34
884
原创 使用Cython为Python开发C++扩展
Cython的出现免去了为Python开发C/C++扩展的很多麻烦。本文以一个简单的例子来说明如何为Python开发C++扩展。例子程序:给定一个列表,把列表的每个元素平方,并返回新列表。用Python实现会是这样:def square(l): return [x * x for x in l]现在我们用C++实现这个函数。根据Using C++ in Cython,Python列表对应于C++的std::vector,因此我们可以用std::vector。_square.h:#ifnd
2022-05-26 22:19:31
825
原创 如何不通过iTunes将Mac上的音乐同步到iPad
本文记录了如何不通过iTunes(或Finder,如果是新系统的话)将苹果电脑上的文件(音乐、视频等)同步到iPad。本文以同步音乐为例。在Terminal中cd到音乐文件夹(如~/Music),使用fd命令列出所有音乐并传给zip打包,假设打包为share.zip:fd -emp4 -etma -em4a -emp3 -d1 . | zip -0qT share.zip -@在Terminal中输入ifconfig | grep 192 | awk '{ print $2 }'确认自己在局域网中的I
2022-05-24 20:09:10
940
原创 python cannot import name ‘sysconfig‘ from ‘distutils‘
pip ImportError 简单的解决方法
2022-05-18 19:28:12
3538
原创 Python Tox 使用笔记
Tox是一个项目自动化工具,在此记录下没在文档和网上tutorial找到的使用细节。试验中尽可能使用最小tox.ini。本文使用tox --showconfig -- <args...>的形式观察配置结果。如果文中没有提<args...>是什么(例如直接说“配置结果为”,而不是“运行…后配置结果为“),那么运行的是tox --showconfig。默认basepython情况一令tox.ini为空。此时只有一个匿名虚拟环境。配置结果为:...[testenv:pytho
2022-02-16 18:26:35
1144
原创 使用抽象语法树`ast`统计哪些Python包与模块被导入了
长话短说,我的Gist。给定一个没有requirements.txt的Python项目,如果想知道需要安装哪些包才能满足这个项目的依赖需求,一个容易想到的方法就是对每一个.py文件,用模式匹配(如正则表达式)找import xxx,并记录xxx为需要的包。然而import语句有很多形式,如:import xxx、import xxx as aaa、import xxx as aaa, yyy as bbb、from xxx.yyy import fff as ccc、from .zzz import gg
2022-02-13 22:25:18
969
原创 PyTorch crop images differentiablly
IntroPyTorch provides a variety of means to crop images. For example, torchvision.transforms provides several functions to crop PIL images; PyTorch Forum provides an answer of how to crop image in a differentiable way (differentiable with respect to the i
2020-05-23 02:24:21
481
原创 MATLAB R2011b 神经网络工具箱注意事项
这是记录了我使用神经网络工具箱时遇到的坑,供自己和他人参考。先写一点,以后遇到再更新。1.net = feedforwardnet;net = train(net, attributes, targets);第一行创建了一个两层前馈网络,隐藏层神经元个数为默认的10,这没什么问题。创建完网络后,如果使用 view(net) 来查看网络拓扑的话,会发现输入向量和输出向量是没有的
2017-07-20 17:50:56
960
原创 被截短的随机分布与原分布的关系
已知随机分布的概率密度函数为f X (x) f_X(x),定义域为D D。现将其定义域截取为E E,其中E⊆D E \subseteq D,即不断按照该分布取随机变量直到变量值落在E E中。截取后的随机变量的分布的概率密度函数与f X (x) f_X(x)是什么关系呢?要回答这个问题,首先设截取后的概率密度函数为f U (x) f_U(x),设a=minE a=\min{E}(如果E E无下界,令a
2017-04-24 00:29:35
752
原创 Apache Ant 扩展教程
Apache Ant 致力于成为一款灵活方便的构建工具。鉴于Ant无法处理过于复杂的过程逻辑,因此便有了著名的 Ant-Contrib 扩展包。Ant-Contrib 的使用固然增加了 Ant 的可编程性,但违背了 Ant 的设计初衷,同时 XML 本身即使具有了编程能力,传统编程语言的逻辑表现力绝非 XML 可比。通过其官方 API 扩展 Apache Ant 具有更大优势。
2016-12-27 15:23:04
619
原创 适用于计算机学院同学的作业目录管理系统
对于计算机学院的同学(或其它院的同学),完成各种涉及程序设计的实验、作业、大作业、课程论文等可能已经是习以为常的事了。为每项作业建立目录、打包等工作虽然简单,但本着尽量将重复性劳动自动化以降低错误率和节省时间的原则,本文介绍了一种方法,通过充分利用构建工具 Apache Ant,实现作业目录的自动化管理。
2016-11-11 21:50:49
759
原创 TeX编辑器的使用
LaTeX是写科技论文利器。目前有很多本地或在线工具来编辑LaTeX文档。本文简要记述了MikTeX+TeXMaker的配置过程,以及ShareLaTeX的基本使用方法,以供作者及其它读者日后参考。
2016-09-05 23:51:32
1058
原创 使用Java API通过DTD方式验证XML
本文记述了如何使用Java 8API 解析但不验证、按照XML文件头的DOCTYPE声明验证、使用本地文件验证XML的方法。本文不涉及如何读取、修改XML节点,以及创建XML文档的内容。
2016-09-03 00:26:30
4344
转载 MATLAB中对自定义函数进行参数估计的方法
先输入x和y的数据。然后在matlab的工作栏输入cftool.在弹出来的拟合工具箱内选择变量为你的x和y.然后右边的拟合方法选择custom equation,然后输入你要拟合的式子的形式,按fit就可以拟合了。
2016-08-24 19:16:46
5734
原创 使用Notepad++搭建任意语言开发环境
Notepad++是一个轻量级开源文本编辑器,支持多种语言,并可以自行添加新的语言,单就其软件特性而言深得开发者青睐。对于主流开发语言或大型项目,有广泛的IDE可供使用,其开发效率自然优于Notepad++;然而对于小型项目或一些比较冷门语言,Notepad++则显得更方便灵活。本文介绍了Notepad++与GNU Make相结合搭建适用于多种语言开发环境的方法,并不局限于C/C++、Java
2016-08-21 10:55:02
3208
原创 NppExec获取进程返回码
使用Notepad++ NppExec插件在做一些自动化工作时,常常需要判断最新运行的一个进程的ERRORLEVEL返回码,以判断该进程是否被正确执行(如判断gcc编译是否有错误)。可用如下方式实现:cmd /c any_executable any_optionsif $(EXITCODE)==0 goto SUCCESSif $(EXITCODE)==1 goto ERROR_1//
2016-08-20 19:20:55
565
原创 Java 8中的long, int, short, char 转byte数组方法
Java 8中将各种基本数据类型转化为byte数组的方法(不涉及显式的位运算)
2016-07-05 12:12:28
1278
原创 Peterson算法、test_and_set在有限等待上的说明
书上说Peterson算法满足有限等待条件,而test_and_set不满足。思索很久后,我想原因应该是这样:Peterson算法只适用于两进程的情况,而test_and_set被设计用于多进程。当只有两进程使用test_and_set时,也是满足有限等待条件的。但若多于两个进程简单地使用test_and_set,由于一些随机的原因可能导致某一进程很长时间抢不到锁,从而无法满足有限等待。
2016-06-16 22:53:01
2902
2
原创 Windows下使用AcroRd32.exe(Adobe Acrobat Reader)打开PDF文件
在windows命令行下运行Adobe Acrobat Reader打开指定文件并翻到指定页码的方法
2016-05-03 22:43:55
12924
原创 银行家算法结束条件的合理性证明
不知有没有人会质疑银行家算法的结束条件:该算法没有回溯过程,如何保证这次没有找到一个进程运行的安全序列,这n个进程的任意顺序排列就都不可能构成安全序列呢?本文对此给出了简要证明,说明银行家算法的结束条件是合理的。
2016-05-01 10:11:59
1219
1
原创 用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程
尽管多数情况下要写VxWorks嵌入式应用程序代码常用Tornado编程环境,但有时可能会需要在命令行下完成简单的Tornado工程管理。本教程教授了如何将简单的工程管理迁移到Tornado外部并在命令行下实现(虽然这样做无法体验Tornado下的一些方便的功能)。0. 准备Tornado软件。首先得有Tornado的全套软件。我的是Tornado2.2。Tornado是否经过破解或是否安装都
2016-03-25 23:33:31
2083
原创 关于JavaSE ProcessBuilder的使用细节
ProcessBuilder可以用来运行外部应用程序。在我使用过程中发现了一些需要注意的地方,这些小问题也着实费了我很长时间去调试。不过既然知道了,就最好写出来,避免后来者再次出错。首先,尽管ProcessBuilder可以用来运行外部程序,但不是所有能在shell中执行的命令都能被ProcessBuilder完美执行。以Windows系统为例,Windows批处理程序中常使用输出流/输入流/
2016-03-24 20:57:01
2024
为Graphviz定制的Makefile
2016-07-31
简易Java命令行交互界面框架
2016-07-01
Java命令行外壳框架
2016-06-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人