服务器
我们组有两台服务器一直在某个小房间里吃灰,光靠工作站里的两块1080Ti算力确实不够。某天和IT一起把线接好了可以启动了,但是一看开发环境还是两年多前的,各种软件版本都比较旧了。
两块Tesla P100在里面积了不少灰,曾经想把他拆下来装在台式机上后来发现台式机电源不是全模组的根本没那个供电的接口,还是放回去吧。
| GPU | Compute Capability |
|---|---|
| Tesla P100 | 6.0 |
| GeForce GTX 1080 Ti | 6.1 |
三四万一张的P100计算能力怎么还没有1080Ti好使呢?这个计算能力应该只是在深度学习领域。Tesla系列的专业显卡相比Geforce显卡拥有更高的计算精度,对于航空航天、药物研发等领域提供双精度(FP64)进行更加精准的计算。Tesla的显存颗粒更贵,支持高精度计算不会在读写存储时出现误差。
建议立刻更新到Quadro RTX 8000或者Tesla T4(没funding)
环境
显卡驱动
- 禁用nouveau驱动
Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从linux内核卸载掉才能安装NVIDIA官方驱动。我们的服务器是纯命令行,直接执行最后一步即可。
(1) 修改blacklist.conf 文件属性blacklist.conf
查看属性
• ll /etc/modprobe.d/blacklist.conf
修改属性
• sudo chmod 666 /etc/modprobe.d/blacklist.conf
用vi编辑器打开
• sudo vi /etc/modprobe.d/blacklist.conf
• 在文件末尾添加如下几行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
(2)修改并保存文件后,记得把文件属性复原:
• sudo chmod 644 /etc/modprobe.d/blacklist.conf
更新一下内核
• sudo update-initramfs -u
修改后需要重启系统
• reboot (重启)
重启系统确认nouveau是否已经被屏蔽掉,使用lsmod命令查看,lsmod命令用于显示已经加载到内核中的模块的状态信息
• lsmod | grep nouveau
若已屏蔽没有任何信息 - 手动安装驱动
提前载nvidia官网上下好了对应版本的驱动,直接用jupyter notebook传到服务器上就可以。
• 进入nvidia官网 https://www.geforce.cn/drivers
下载对应显卡的驱动程序,下载后的文件格式为run。
• 删除原有的NVIDIA驱动程序(若没有安装忽略)
• sudo apt-get remove –purge nvidia*
• 进入命令行桌面
给驱动文件增加可执行权限
• sudo chmod a+x NVIDIA-Linux-x86_64-418.74.run(cd到文件所在文件夹。)
安装
• sudo sh ./NVIDIA-Linux-x86_64-418.74.run.run –no-opengl-files - 检查
输入nvidia-smi即可检查驱动是否安装成功。
安装CUDA
- 进入官网下载对应版本(https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal)
2.运行指令需要cd到包含该文件的文件夹目录下
根据官网提示指令安装即可
• sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
• sudo apt-key add /var/cuda-repo-ubuntu1804-10-1-local-10.1.168/7fa2af80.pub
• sudo apt-get update
• sudo apt-get install cuda
安装cuDnn
- 进入官网注册并下载对应的cudnn版本。(https://developer.nvidia.com/rdp/cudnn-download)
- 下载完成后解压文件
tar -zxvf cudnn-10.1-linux-x64-v7.5.1.10.tgz - 解压完成将相应的文件拷贝到对应的CUDA目录下即可(要cd到含cudnn文件的目录下)
• sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
• sudo cp cuda/lib64/libcudnn /usr/local/cuda/lib64/
• sudo chmod a+r /usr/local/cuda/include/cudnn.h
• sudo chmod a+r /usr/local/cuda/lib64/libcudnn - 编辑环境变量
• sudo gedit ~/.bashrc
将cuda的环境变量加到打开的文件最后
• export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”
• export CUDA_HOME=/usr/local/cuda
• export PATH=“CUDAHOME/bin:PATH”
保存后,终端输入
• source ~/.bashrc





在此基础之上,引入了该楼盘周边1km范围内地铁站数量、医院数量、学校数量、商场数量(数据来自百度API,可以参见另一篇blog)和该楼盘所在区域的区域均价。


看了周一的模拟产品发布以后,发现隔壁组的UI做的很好看,扁平化设计,准备在产品功能实现后再调整。
收集到的数据的粒度到月,住建局有到天的成交数据,但是很多特征都没有就没有采集。
ECharts确实很好用,提供了一些直观、易用的交互方式以方便对所展现数据的再加工。
(基于XgBoost)图中的蓝色点是训练集中上海新楼盘的真实信息,但是训练的结果和Kaggle中波士顿房价预测那题的结果相差甚远,我想有几个原因:第一是上海主城区房价过高,但是新楼盘少,新城区房价较低,新楼盘多,这些离群点让模型产生了较大误差;第二,Kaggle比赛的数据集很全,虽然说有缺失值和部分错误值,但是用Pandas完全可以解决这些小错误,我们这次预测的数据集60%来自链家,40%是自己收集的,在专业性上相差较多,导致没有比赛数据集所呈现的统计规律。
(基于LSTM)