更改

2016013212

添加2,415字节2017年7月2日 (日) 15:28
P.S. GFW又发力了,TensorFlow官网被墙了,得用VPN了。
 
==7月2日:机器学习==
 
从GitLab上获取所需代码后,又得到了预先处理过的音频文件。音频文件本来数量不多,经过加干扰就获得了一大批文件。
 
简单阅读了一下train.py和client.py,train.py中设定一个epoch包含3000个stage,然后循环执行100个epoch,除了第一个epoch外,都以上次保存的模型为checkpoint继续进行训练,这样就得到了许多checkpoint,可以选择在一定时候停止训练,可以得到阶段性的学习成果,也就是神经网络模型。train.py执行中只负责训练神经网络,而client.py负责读取音频文件并处理,通过端口feed给train.py。需要注意的是要使用管理员权限运行python,否则通过端口的数据传输会被拒绝。
 
上午离开前让CPU版的TensorFlow跑起来了,就离开了。初始的accuracy是0.04,基本上就是瞎蒙的概率;速度刚刚好是一个epoch耗时90分钟,下午回来又等了很久,同时以蜗牛网速下载着CUDA,CUDA安装完的时候,跑完了2.5个epoch,也就是完成了2次训练,得到了第二个神经网络模型,第二个模型的accuracy大概是0.52。这时候将进程终止,修改train.py,让它从第三轮epoch开始进行,同时把CPU版的TensorFlow用GPU版本替换了。下午离开的时候,第三轮跑了一半,accuracy已经升到0.67了。
 
我们用的机器的GPU是GTX970,一般也就归为甜品卡,不算特别尖端。跑一个epoch大概耗时1400s+。而另一台用Titan的机器,跑一个epoch只要900s,速度几乎快了一倍。不过按照我们的速度,机器跑一个通宵,第二天回来的时候也应该能跑完相当可观的轮次数了,虽然越往后降低损失函数可能越不容易,但是据老师说14个epoch得到的模型已经有很高的准确度了。还是要感谢CLDNN算法的优势。
 
在运行训练的间隙,我们折腾了一下一台闲置的工作站。本来装的是ubuntu,后又装了Win Server 2012,但是Server是空的,比较难配置,也就没去用它,然而ubuntu也出了问题,不能正确识别显卡,图形界面也进不去。在命令行下运行安装显卡驱动也出现错误,与运行着的X Server冲突,X Server却也是进不去的,最后干脆进入recovery, dpkg模式,将所有包都重装,最后结果还不知道,第二天再去折腾。
54
个编辑