使用Python向你的移动设备发送通知

有时候我们需要在一段python代码执行完成后提醒我们,比如长时间的深度学习训练完成后,向手机发送通知来提醒我们训练完成。使用python包 notify-run 可以方便的实现如上需求,并且内置了Keras的回调函数,能够更方便地发送实时训练消息。

1. 安装

直接pip安装 notify-run 包:

2. 配置

注册服务: 然后会弹出一个二维码:
Continue reading “使用Python向你的移动设备发送通知”

在 Google Cloud 上使用 GPU 进行深度学习加速

深度学习需要用到GPU的并行计算能力进行加速,由于不方便安装台式机,计划用云GPU进行,以国内某知名云为例:

CPU: E5 4vCPU,内存: 30G,GPU: NVIDIA P100,SSD: 40G,硅谷节点(无国内节点),包月5460.80元

而Google Cloud Compute Engine提供以小时计费的GPU计算单元(关机后不收费),相似配置需要894.06美元/月(约6000元),如果按小时计费,约1.225美元/小时,所以如果是学习为目的的话Google Cloud还是非常划算的。

1.创建Google Compute Engine

选择Compute Engine -> VM instances -> Create Instance

选择适合你的CPU、GPU、内存配置,可以先选低一点,后期随时可以调,GPU也是,我选择了如下配置: Continue reading “在 Google Cloud 上使用 GPU 进行深度学习加速”

Qt换国内源

1. 下载Updates.xml

以清华TUNA源为例:https://mirrors.tuna.tsinghua.edu.cn

依次进入 online -> qtsdkrepository -> [你的平台] -> root -> qt

例如Windows平台: /qt/online/qtsdkrepository/windows_x86/root/qt/

将Updates.xml下载下来,保存到一个可靠的位置,如Qt根目录 C:\Qt\Qt5.11.0\

2. 替换

选择你喜欢的编辑器,将Updates.xml中的URL替换为TUNA的网址:

Continue reading “Qt换国内源”

从MinGW迁移至Cygwin

0. 原因

MinGW bug太多辣~什么显示不全、乱码等问题都可以通过切换至Cygwin来解决

1. 安装 && 配置

下载:https://cygwin.com/install.html

完成后打开

选安装目录和下载目录什么的可以一路next

然后选择是否使用代理,因为要用国外的镜像站,这里我用了SS/SSR的配置,跟浏览器插件里的配置一样。如果你选择国内镜像站,可以选择直接连接。

选择镜像站点,因为VPS在日本,所以这里我随便选了一个JP的镜像站,速度还不错。试了一下清华的镜像站,有点慢(代理关闭)。

之后观看这个视频,介绍比较详细:How to install Cygwin C/C++ compiler and configure code blocks IDE

大概就是要安装gcc-core,gcc-g++,GDB,make,之后一路next,有connection error的时候retry一下就好啦

如果不在命令行下使用,只在IDE里使用,可以不加环境变量。因为我把带MinGW的git添加到环境变量了,所以怕冲突就没把Cygwin加进去

最后打开 C:\cygwin64\cygwin.bat ,测试一下:

如果配置了环境变量要在cmd里进行上述测试

3. 在CLion中从MinGW迁移至Cygwin

配置编译器:File -> Settings  -> Build, Execution, Deployment -> Toolchains

点“+”号新建,下拉菜单选Cygwin,多等一会儿,会自动检测到。

然后将原来的MinGW配置删除,或者下移,否则默认还是MinGW。

最后,File -> Reload CMake Project(否则会出现Cmake Error: could not load cache)

重新加载时间稍长(CLion真吃配置)

关于换行符

在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF)作为换行符。Git提供了一个“换行符自动转换”功能。这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。Git 的“换行符自动转换”功能听起来似乎很智能、很贴心,因为它试图一方面保持仓库内文件的一致性(UNIX 风格),一方面又保证本地文件的兼容性(Windows 风格)。

但是每次diff的时候总是提醒换行符不一样,看着好难受啊

关闭:

或者:

CLion中自动生成的main.cpp是LF,自己新建的文件是CRLF

设置统一:Files -> Settings -> Editor -> Code Styles -> Line separator -> Unix and OS X (\n)

 

其实不跨平台根本没所谓~真矫情~   结论: 不要用Windows (误