Python
自带了几个性能分析的模块:profile
,cProfile
和hotshot
,使用方法基本都差不多,无非模块是纯Python
还是用C
写的。本文介绍cProfile
。
继续阅读cProfile——Python性能分析工具
月度归档: 2017 年 5 月
Ubuntu 16.04 LTS下通过PHP7-FPM配置的服务器增大WordPress文件上传大小限制
一般来说你使用的主机会限制你上传文件的大小,在WordPress
的媒体文件上传可以看到,大多数都是2MB
。如果是图片的话可能会还够用,但是如果是其他文件就不一定够用了。
增大可以上传的文件大小的话,则执行如下命令
$ sudo vim /etc/php/7.0/fpm/php.ini
搜索"upload_max_filesize
",把默认的2M
修改为需要的大小。
搜索"post_max_size
",把默认的8M
修改为需要的大小。
重启PHP-FPM
服务
$ sudo service php7.0-fpm restart
重新刷新页面,上传文件即可。
Ubuntu 16.04开启dlib对于AVX或者CUDA的支持
最近在使用openface
来测试人脸识别,实际过程中发现识别速度非常缓慢,平均每帧的识别速度达到了秒级水平,这个是不可接受的。跟踪代码性能,发现是dlib
部分非常缓慢。
根据dlib
的文档,默认使用
$ sudo pip install dlib
安装的dlib
库,由于对具体硬件的要求(CPU
需要支持AVX
指令集),是没有开启AVX
指令加速的,另外由于显卡的要求,也是默认不开启CUDA
的支持。
如果想要开启这部分加速,需要手工编译安装才可以,具体操作如下:
$ cd ~ $ mkdir dlib $ sudo pip download dlib $ tar -zxvf tar -zxvf dlib-*.tar.gz $ cd dlib* #安装依赖的库 $ sudo apt-get -y install libopenblas-dev #移除我们以前安装过的dlib $ sudo pip uninstall dlib #开启AVX指令集支持 $ sudo python setup.py install --yes USE_AVX_INSTRUCTIONS
上面的命令是使用AVX
指令加速功能的,如果机器上安装了CUDA
,则需要正确安装cuDNN 5.0
以上的版本,否在编译的时候会报告
-- Checking if you have the right version of cuDNN installed. -- *** Found cuDNN, but it looks like the wrong version so dlib will not use it. *** -- *** cuDNN V5.0 OR GREATER NOT FOUND. DLIB WILL NOT USE CUDA. *** -- *** If you have cuDNN then set CMAKE_PREFIX_PATH to include cuDNN's folder.
对于使用
$ sudo apt install nvidia-cuda-toolkit
安装的CUDA-7.5
来说,可以从这里下载cuDNN v6.0 (April 27, 2017), for CUDA 7.5,下载完成后,整个目录中的include
目录中的文件解压缩到/usr/local/include/
目录下,lib64
目录中的内容整个解压缩到/usr/lib/
目录下,并且在/usr/local/lib/
目录下建立libcudnn.so
的软链接
$ sudo ln -s /usr/lib/libcudnn.so /usr/local/lib/libcudnn.so
都配置正确后,使用如下编译命令安装:
$ sudo python setup.py install --yes DLIB_USE_CUDA
参考链接
Easily Create High Quality Object Detectors with Deep Learning
执行"luarocks install cutorch"发生错误"error: implicit declaration of function 'THLongStorage_calculateExpandGeometry'"
执行
$ luarocks install cutorch
发生如下错误:
[ 88%] Building C object lib/THC/CMakeFiles/THC.dir/THCStorageCopy.c.o In file included from generic/THCTensor.c:1:0, from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCGenerateAllTypes.h:17, from /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/THCTensor.c:7: /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c: In function ‘THCudaByteTensor_newExpand’: /tmp/luarocks_cutorch-scm-1-8069/cutorch/lib/THC/generic/THCTensor.c:304:3: error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’ [-Werror=implicit-function-declaration] THLongStorage_calculateExpandGeometry(tensor->size, ^ [ 90%] Building C object lib/THC/CMakeFiles/THC.dir/THCThreadLocal.c.o cc1: some warnings being treated as errors lib/THC/CMakeFiles/THC.dir/build.make:686: recipe for target 'lib/THC/CMakeFiles/THC.dir/THCTensor.c.o' failed make[2]: *** [lib/THC/CMakeFiles/THC.dir/THCTensor.c.o] Error 1 CMakeFiles/Makefile2:172: recipe for target 'lib/THC/CMakeFiles/THC.dir/all' failed make[1]: *** [lib/THC/CMakeFiles/THC.dir/all] Error 2 Makefile:127: recipe for target 'all' failed make: *** [all] Error 2 Error: Build error: Failed building.
解决方法为:
$ luarocks install torch $ luarocks install cutorch
参考链接
error: implicit declaration of function ‘THLongStorage_calculateExpandGeometry’
Amazon Kindle Paper White 5.8.9 WiFi 版本浏览器的User Agent
Amazon Kindle Paper White 5.8.9 WiFi
版本浏览器的User Agent
信息如下:
Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+
更换RAV4(2016款)遥控钥匙电池
解决执行"sudo echo xxx > log.txt" 时提示"Permission denied"
在执行
$ sudo echo xxx > log.txt
命令时候,会提示错误
Permission denied
这个错误的原因在于sudo
给echo
提权,但是并没有给重定向命令提权,导致在输出到文件的时候是没有权限的。
解决方法为使用tee
命令,如下:
$ echo xxx | sudo tee log.txt
参考链接
编译Torch 7时遇到错误"make[2]: *** [lib/THNN/CMakeFiles/THNN.dir/init.c.o] Error 1"
编译Torch 7
时执行
$ sudo luarocks install nn
遇到如下错误信息:
make[2]: *** [lib/THNN/CMakeFiles/THNN.dir/init.c.o] Error
原因是缺少依赖包torch
导致的,在安装nn
之前需要先安装torch
即可解决问题。
如下方式执行:
$ sudo luarocks install torch $ sudo luarocks install nn
参考链接
编译Torch 7时执行luarocks install提示"Error: No results matching query were found."
编译Torch 7
时执行luarocks install
提示错误信息:
Error: No results matching query were found.
这个是由于系统上安装了多个luarocks
而执行安装命令的并不是Torch 7
代码目录下自带的luarocks
导致的。
修正的办法就是设置搜索路径,把Torch 7
代码目录下的install/bin/
放到搜索目录(PATH
)的最前面。
参考链接
luarocks install *错误之Error: No results matching query were found.
移除WordPress-4.7.5自动加载的emoji脚本
WordPress 4.2
版本之后,查看网页源代码你会发现WordPress
会自动在加载一段用于支持emjo
表情的脚本(JS+CSS
)。对于大部分人来说,这个是十分鸡肋的功能,反而影响加载速度,仔细观察一下就会发现,这部分功能引入了非常多的脚本以及代码,实际上绝大部分人从来不使用这部分功能,另外这部分加载脚本在Internet Explorer 11
+ HTTPS
的时候,会出现警告访问不安全的内容,原因就在于emjo
加载脚本在HTTPS
的情况下依旧会使用HTTP
去请求数据。