leela zero初折腾

搬家前就把当做移动学习服务器的笔记本买了,但安装好系统之后,赶上搬家就一直扔在单位。搬家结束后,晚上回家连游戏都懒得玩了,更不用说学习了。
国庆节放假,于是很不情愿地把笔记本背回家,准备利用假期整理一下,开始学习,也该学习了。
正好赶上他们娘俩参加同学聚会,一个人在家正好有时间折腾。
买独显笔记本电脑的目的之一,是为了能学习gpu计算,而测试的最好例子就是安装围棋AI系统leela zero。去年这个时候曾经安装过一台leela主机,一年时间已经进化到leela zero,科技进步之飞速总是超出人们想象。
根据以为经验,首先更换显卡驱动,安装leela zero很顺利,启动也没有遇到麻烦,cuda也显示安装成功。但和前身leela不同,作为服务器leela zero并没有自己的图形界面,需要安装支持gtp协议的图形程序。
问题就出在这上面了。所谓学习需要时间,其实就是需要有足够时间解决出现的各式各样的错误,也就是需要时间折腾。
直到她娘俩很晚回来,我这边基本还是没有什么进展,对弈软件依然连接不上服务器。
睡下之后,心里还是不甘,脑子里又把整个流程过了一个遍,感觉网上的那些教程基本都是Windows系统系统的,而且几乎都是你抄我转,可靠性不大。
今天早早起来,从头再来,按照github上面的原文进行安装调试,在解决掉一个权限问题后,sabaki终于可以实现对弈了,虽然界面还是粗糙了点,至少可以运行了。
下午回来后,趁热打铁,继续收拾另一个软件Lizzie。有了前面的教训,这个调整配置后,也可以对弈,但分析依然在载入中,而这时才发现原来是最早编译的leela zero分支的问题。
学习计算机,看来还是要看英文的。
折腾一天,收货也就这些了,有用吗,还真没有什么用。
折腾呗。

专一转入virtualbox

这次破费买笔记本电脑,也算是对原先VMware的放弃,彻底转投virtualbox。
从最早的VMware server到前段时间学习的exsi,为了保证兼容性搭建平台花费都不少,至少相对我平常计算机花费而言。但仅限于学习体验,真心不值,对于这类高端产品,以我的水平花费精力和财力,实在有装之嫌。
平时用的多还是virtualbox,但由于盲目追求高大上,反而有些看不上这个在许多媒体眼里的“玩具”。但从4.5到5.2,除了一次升级遇到虚惊,一直稳定运行。
前段时间升级到5.2之后,发现用来管理virtualbox的PHPvirtualbox停止了更新,一度还让我有些为virtualbox的前途担忧。但在学习scrapy时捎带了解到的vagrant,才发现自己真是杞人忧天加井底之蛙了。
晚上用virtualbox花了半小时安装好win10,运行速度流畅,就是占用空间有些让人心疼,以后还是别好高骛远了,实际一些,virtualbox还是够用,有前途的。

专一学习,有效收获,逐步扩展,才是正途。

新平台新折腾

中考之前几个月,就开始准备给儿子的奖励资金,但相比其他孩子中考憋足劲索要的奖励,穷人家孩子眼界低,最后我只用了390块就把儿子打发了。
意外省下的钱于是准备挪用买台笔记本。原本家里各司其职机器不少了,但搬家之后不可能全带过去,需要整合一下。同时儿子高中三年期间,我也准备把学习的方向也调整一下,由单纯的学习了解,转向学习及应用。这样原先的DIY服务器就有些不适用了,不如买台笔记本,把客户端与服务器整合在一起。
因为还是以虚拟机为基础,所以机器性能不能太差,内存不能少,再加上要学习gpu相关知识,性价比更高的A系只能忍痛放弃,需要入门级的N系独显。再考虑需要便携,这样就只能选择更轻薄的机型。
但休假魔咒依然延续。一休假,股市就开始咣当咣当地跌,我那点奖励基金也基本维持在休假前那个水平,最后选来选去,人穷志短,破例从淘宝网买了一台宏碁14寸笔记本。
机器看配置还是不错的,高清屏,7代i5,8G内存加256G固态硬盘,入门级940mx显卡。但拿到手发现原来便宜是有原因的,虽是高清屏,但机器模具还是使用原先的,宽阔的边框让体积没有缩减瘦身,机器材质属于工程塑料,后盖一体化,连电池都固定在里面了。
但开机后,默认安装的win10速度很快,运行流畅,也算是物有所值。但这并不是我想要的,回家第一件事就是重装系统,但这个本来简单的重装废了半天时间,主要卡在BIOS设置上了,最后将UEFI改为Legacy,才算成功完成。
之前对微软与英特尔这对狐朋狗友搞出来坑爹的UEFI设计有所耳闻,但因为之前服务器都是用的老旧硬件,倒没有遇到过。看来学习新东西还是很必要的。
新平台搭建完毕,努力学习,和儿子一起进步。

学习的运气

有时候学习需要运气的,尤其是初学计算机某应用程序单位时候。
按说学习应该是学习实践结合,但根据之前的经验教训,这次学习scrapy采集的时候,是以书为本,扩展参考网上的实战资料,先不上机。为的是打牢基础,免得上机卡壳再翻书,更浪费时间。
这样的效果看来还不错。
周六让闲置许久的虚拟机服务器开工。先采集新浪博客的图片作为实践的第一步。本来按照计划,周六先把基础框架搭好,下周休假期间,再慢慢完善。
但这次运气太好了。运气好的我都怀疑我的智商了。前面几步都顺利完成,完成后,自己跟自己说,不用着急,慢慢来。但又忍不住再尝试下一步,结果有顺利完成。尤其是MySQL数据库接口那步,居然是一次编码就过关。那时感觉恨不得跑卫生间对着镜子鞠躬抱拳了。
但运气总有用完的时候。
下午临近吃完饭时,开始进入最关键的一步,就是批量自动采集,过不去了。总是只采集当前页面,也能自动爬取下一页的链接,但采集却无法继续。折腾了2个多小时没有进展。
准备放弃前,又对照发现书中代码与网络实例代码,操作部分不会有问题的,脑子突然一闪,忙对照配置部分。
果然问题出在那里,而且还是之前我总结的,外国作者总是想当然认为读者和他们有一样的开发系统设置,很少考虑对系统设置的注解。而这次问题就是出在系统的域名设置上。
更换采集域名设置,程序顿时高效运转,看着终端满屏的字符滚动,成就感满满。
半个多小时后,采集完成,共下载了700多M,8000多个文件。
初战告捷。

又是一天的折腾

最近想学习一下GPU相关知识,于是买了一块gt1030显卡,准备先学习,后换到主机上替换原先无法流畅玩守望先锋的老显卡。
首先测试的是esxi主机,主要是验证一下DirectPath问题。结果并非和网上传言的那样,低版本的显卡依然可以被选择,但是在使用过程中多次在”vmkapei loaded successfully”出错,估计和配置有关,网上一位网友说“要启用VM-FEX 结合的DirectPath I/O,虚拟机必须做内存保留(memory reservation),而且是所有内存都必须保留。这使得虚拟机插槽(slot)变得非常大,而且也使得主机无法充分利用内存,无法进行内存过量分配(overcommitment)。”这个应该是关键。
esxi不成功,就转向围棋程序leela。主板是原先看视频用的 联想A6-5200主板,集成了主频2g四核cpu,同时使用60W的适配器供电,可以使用小机箱,避免了大机箱风扇的噪音。4G内存,操作系统选择的是ubuntu针对低档主板的衍生衍生版本17.10。
安装倒非常顺利,下载leela费了不少时间,安装完毕后,执行带OpenCL加速的命令,结果机器如同死机一样,查看一下系统资源,四个本来孱弱的cpu内核都是100%运行,这样的机器基本没有可用性了。
于是把默认显卡的开源驱动换为NVIDIA自家驱动,重新启动机器后,虽然cpu依然接近满载,但整个机器的可以正常运行,分析界面也不至于卡顿了,整体机器的功耗也控制在60W以内,目标也算达到了。
折腾了一天,感觉现在真是老了,经不起折腾,而现在系统对设备要求更高了,也折腾不起了。

气死人的php7-

阿里云主机到期后,换成了香港主机,看中的是ubuntu16.04版本,但迁移之后,基本还算正常。
说是基本,是因为原先使用的wordpress安卓客户端不能使用了。
看日志,访问没有问题,但就是无法正常显示。网上看了很多,几乎都是提示修改xmlrpc配置,但都无效。
今天做最后一次尝试,想到问题出现是因为php版本转换的问题,应该是php7的问题,于是试着安装php7-xmlrpc,没想到系统提示需要安装php7.0-xmlrpc,php7.0-xml。果断安装,再用客户端登录,原先熟悉的界面显示出来了。
这已经不是第一次出现php7-的问题,看来php7默认是最小化安装,需要使用更多功能的话需要按需安装,但总要有个提示吧……

最大规模网站搬家结束

自己建站以来最大规模的站点搬家终于完成了。
从04年开始学习做网站,到07开始正式在网上安家,算来已经十余年了。但看看此次搬家的全部家当,算上网站程序也不过1G而已。期间错过了很多机会,也浪费了不少时间,但借着搬家回头看看自己的记录和随笔,自己都很奇怪自己那时怎么会有如此感想?
回顾过往,继续前行,纵目标不明,好在总有收获。

Ubuntu下配置nginx和uWSGI

昨天开始配置nginx和uWSGI的组合,网上相关文章很多,但转来转去,越看越糊涂,感觉其实就是配置nginx,和php一样listen相应端口就是了。于是试着先配置nginx。直接修改网站配置文件中

location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}

然后按照网上写运行 uWSGI的命令行:

/usr/local/bin/uwsgi –socket 127.0.0.1:8000 –module mysite.wsgi –chmod-socket=666,

开始可以运行,但提示无app可用,后来切换到mysite项目目录下,nginx可以访问了。然后将cd 及 uWSGI命令添加到rc.local中,重启后就可以访问了。

但这样有个问题就是如果修改了django的配置,似乎无法及时更新,这个需要进一步学习。

安装IPyhon

最近开始学习Python的数据处理,首先安装IPython。首先使用pip安装,不需要指定版本,直接按照默认的就是Python3的版本。

然后jupyter notebook –generate-config 生成配置文件

通过jupyter notebook password 生成密码

这样ipython notebook –profile=myserver –ip=’192.168.17.128′ 指定好服务器ip地址,就可以通过浏览器远程登录了。

安装使用font-spider

五一期间将围棋古谱网站上线,比较一下字体,选择的是文泉驿的等宽正黑字体作为棋子的数字显示,但字体文件就8M多,只是显示数字有些太过臃肿庞大了。

后来准备使用font-spider优化字体,在ubuntu 14.04上通过apt安装并不成功,问题在node.js环境安装有问题。于是到node.js官网上安装教程安装:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash – 安装Node.js v7

然后apt-get install -y nodejs

安装 font-spider:npm install font-spider -g

新建一个文件test.html,css部分包含:

<style type=”text/css”>

@font-face {
font-family: ‘wqs’;
src: url(‘./fonts/wqs.ttf’);
src:
url(‘./fonts/wqs.eot?#font-spider’) format(’embedded-opentype’),
url(‘./fonts/wqs.woff’) format(‘woff’),
url(‘./fonts/wqs.ttf’) format(‘truetype’),
url(‘./fonts/wqs.svg’) format(‘svg’);
font-weight: normal;
font-style: normal;
}
body{
font-family:”wqs”;
}
</style>

body中将棋谱显示数字放进去

在上传文件到linux下,font-spider test.html

生成了新的字体文件,但没有备份原字体文件,所以还是事先备份好。