2017年9月13日星期三

SparkFiles.get出现NullPointerException错误

错误代码:
val serFile = SparkFiles.get("myobject.ser")

原因:SparkFiles.get只能在spark算子内使用:
sc.parallelize(1 to 100).map { i => SparkFiles.get("my.file") }.collect()

2017年9月12日星期二

spring boot使用bazel编译运行时无法注入bean

使用到了azure-storage-spring-boot-starter中的bean,所以我增加了@ComponentScan({"com.xxx", "com.microsoft.azure"}),还是无法注入bean。

最后增加了@PropertySource("classpath:application.properties")显示指定application.properties文件(配置文件中有azure storage连接的配置)才解决问题。不知道啥原因,瞎打瞎碰解决了问题。

2017年9月5日星期二

sampled softmax

出自于On Using Very Large Target Vocabulary for Neural Machine Translation这篇paper,主要是解决词表过大训练时间长的问题。

下面这两篇blog讲的比较清楚:
On word embeddings - Part 2: Approximating the Softmax: http://ruder.io/word-embeddings-softmax/index.html#whichapproachtochoose
中文翻译:http://geek.csdn.net/news/detail/135736

关于sampling softmax中重要性采样的论文阅读笔记:http://blog.csdn.net/wangpeng138375/article/details/75151064

2017年8月9日星期三

pip镜像源的配置

参考http://www.jianshu.com/p/785bb1f4700d

临时使用:
pip install pythonModuleName -i https://pypi.douban.com/simple

修改~/.pip/pip.conf:
[global]
index-url = https://pypi.douban.com/simple

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2017年8月7日星期一

ubuntu删除软件包

参考:https://www.linuxdashen.com/debianubuntu%E6%B8%85%E7%90%86%E7%A1%AC%E7%9B%98%E7%A9%BA%E9%97%B4%E7%9A%848%E4%B8%AA%E6%8A%80%E5%B7%A7

删除软件包:
sudo apt-get remove <package-name>
sudo apt-get purge <package-name>
remove是删除软件包,purge是删除配置文件。

查看系统上哪些软件包留下了残余的配置文件:
dpkg -l | grep "^rc"
删除这些软件包:
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

删除孤儿软件包:
sudo apt-get autoremove

2017年8月3日星期四

LD_LIBRARY_PATH

LD_LIBRARY_PATH可以指定so动态库的搜索路径。

今天在服务器上安装luarocks install lzmq时因为没有root权限,我先在另一台和服务器的gcc版本一样的机器上安装了lzmq,把zmq的include和lib文件拷贝到了我自己的zmq目录下,增加了LD_LIBRARY_PATH。安装成功:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/aifs/users/xyc43/tools/zmq
luarocks install lzmq ZMQ_DIR=/aifs/users/xyc43/tools/zmq

2017年8月1日星期二

tensorflow-gpu import tensorflow的一个问题

ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory

是因为没有设置LD_LIBRARY_PATH环境变量,在~/.bashrc中添加export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64,解决。