1. 永久挂载机械硬盘的方法:
首先得到/dev/sda3这个分区的UUID,使用以下命令:
sudo blkid /dev/sda3
Ubuntu Linux 永久挂载(mount)分区
然后,我们按照/etc/fstab文件中的格式添加一行如下内容:
UUID=904C23B64C23964E /media/aborn/data ntfs defaults 0 2
其中第一列为UUID, 第二列为挂载目录(该目录必须为空目录),第三列为文件系统类型,第四列为参数,第五列0表示不
备份,最后一列必须为2或0(除非引导分区为1)
最后使用命令mount -a看是否成功:
Ubuntu Linux 永久挂载(mount)分区
root# mount -a 或 sudo mount -a
2. ubuntu 添加用户到sudoers中的步骤:
Linux默认是没有将用户添加到sudoers列表中的,需要root手动将账户添加到sudoers列表中,才能让普通账户执行sudo命令。
root 账户下输入vim /etc/sudoers,找到如下语句:
root ALL=(ALL) ALL
按yyp键复制并在粘贴在下一行,在这一行的 root替换为你所需要添加用户的账户名,比如huddy,结果就是
root ALL=(ALL) ALL
huddy ALL=(ALL) ALL
如果你希望之后执行sudo命令时不需要输入密码,那么可以形如
root ALL=(ALL) ALL
huddy ALL=(ALL) NOPASSWD:ALL
输入:wqa!保存即可。
3. 两台Linux系统之间进行文件传输的几种方法;
a. 将本地文件拷贝到远程端:
scp 文件名 用户名@计算机IP或者计算机名称:远程路径;
b. 将远程文件拷贝回本地:
scp 用户名@计算机IP或者计算机名称:文件名 本地路径
c. 将本地目录拷贝到远程端:
scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径
d. 将远程目录拷回到本地
scp -r 用户名@计算机IP或者计算机名称:目录名 本地路径
4. ubuntu中extract .rar文件时出现“Parsing filters is unsupported.”的解决方法:
原因:系统中未安装RAR文件的压缩/解压管理工具,而Archive Manager依赖于这些工具来解压和压缩文件。
解决方法:sudo apt install unrar.
5. 挂载和卸载指令: mount和umount 文件夹名;
6. curl 不支持 https问题的解决,报错情况如下:
* Protocol https not supported or disabled in libcurl
* Unsupported protocol
原因:没有安装openssl,解决方法:a. 首先安装openssl: sudo apt-get install openssl, sudo apt-get install libssl-dev; b. 重新安装curl.
7. ubuntu改原始python2.7版本为3.5版本的方法:
a. sudo apt-get install python3.5; // 安装新版本3.5
b. sudo rm /usr/bin/python; // 清除已有连接;
c. sudo ln -s /usr/bin/python3.5 /usr/bin/python; // 重新建立软连接。
8. 显卡驱动,CUDA和CUDNN安装步骤:
a. 下载CUDA base文件和补丁文件,再下载CUDNN文件,再下载显卡驱动,不能比cuda后两个***版本低;
例如:下载的驱动时是:NVIDIA-Linux-x86_64-390.87.run;
下载的CUDA版本是:cuda_9.2.148_396.37_linux.run;补丁是:cuda_9.2.148.1_linux.run;
驱动的版本390.87必须必CUDA的版本396.37高,也不能太低。
b. 终端输入:lsmod | grep nouveau;
若有输出,则:cd /etc/modprobe.d
sudo touch blacklist-nouveau.conf;
sudo gedit blacklist-nouveau.conf;
在打开的文件中输入:blacklist nouveau
options nouveau modeset=0;
保存后退出,然后:sudo update-initramfs -u;
重启,再在终端检测一下: lsmod | grep nouveau;
如果没有输入,则继续。
下面安装驱动,首先卸载掉原有驱动:sudo apt-get remove --purge nvidia-*;
CTRL+ALT+F1进入字符界面,关闭图形界面:sudo service lightdm stop;
然后安装nvidia驱动:
sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run //获取权限
sudo ./NVIDIA-Linux-x86_64-396.18.run –no-x-check –no-nouveau-check –no-opengl-files //安装驱动
期间出现:Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 这个选择Yes 继续
期间出现:The distribution-provided pre-install script failed! Are you sure you want to continue? 不用管它,继续安装。
安装完后,输入:nvidia-smi,那么出现显卡的信息则说明安装成功。nvidia-smi如果不显示,也能用上面的方法重装解决。
下面安装CUDA9.2,进入文件路径:
sudo sh cuda_9.2.88_396.26_linux.run
Ctrl+C键跳过说明,后面问到是否需要安装驱动,选择否,其余选择是直到安装完成。
然后再配置环境变量:sudo gedit /etc/profile;
在打开的文件末尾加入以下路径(安装目录):
export PATH=/usr/local/cuda-9.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:$LD_LIBRARY_PATH
保存,然后重启电脑,进入终端
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果result = PASS,则安装成功,否则失败,可能原因是环境未配置好,或者是cuda与驱动版本不兼容。
如果需要卸载重装,运行下列命令卸载 cuda:
$ cd /usr/local/cuda/bin
$ sudo ./uninstall_cuda_9.2.pl
问题:CUDA driver version is insufficient for CUDA runtime version.
原因:CUDA版本高但是驱动版本低;
解决办法:将CUDA版本从9.2换位9.0,重新安装即可。
9. 正确的安装cuDNN的方式:
a. 从官网上下载cudnn相应版本的压缩包(需要注册);
b. 将其解压,确定绝对路径为:/yourpath/cudnn/cuda;
c. 将解压的文件中的lib64文件夹关联到环境变量中:
cd ~
sudo gedit .bashrc
d. 在弹出的.bashrc文档中加入下面一行:
export LD_LIBRARY_PATH=/yourpath/cudnn/cuda/lib64:$LD_LIBRARY_PATH;
e. 保存文件后,source .bashrc;
f. 重启终端,将解压后的cuDNN文件夹中的include文件夹中的cudnn.h拷贝到/usr/local/cuda/include中:
cd cuda/include
sudo cp *.h /usr/local/cuda/include/
g. 重置cudnn.h文件的权限:
sudo chmod a+r /usr/local/cuda/include/cudnn.h
10. nvcc找不到的问题解决:
安装完cuda9.0后终端输入:nvcc -V或nvcc –version说找不到指令,原因是没有添加环境变量。
解决方法:
a. 查看/usr/local/cuda/bin下是否有nvcc可执行程序,如果没有说明cuda没有正常安装,有则下一步;
b. 添加环境变量:
cd ~
sudo gedit .bashrc
在最后一行加入:export PATH=$PATH:/usr/local/cuda/bin;
c. source ~/.bashrc;
d. 这样在终端输入nvcc –version或者nvcc -V就可以显示出nvidia版本。
11. 安装bazel时出现“Unable to locate package”的解决办法:
更新源: sudo apt-get update;
12. 安装tensorflow前需要安装的插件:
a. sudo apt-get install openjdk-8-jdk;
b. echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
c. curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add –
d. 安装bazel:sudo apt-get update && sudo apt-get install bazel;
e. 更新bazel: sudo apt-get upgrade bazel.
13. 安装bazel时解决Ignoring file ******** in directory ‘/etc/apt/sources.list.d’问题的方法:
sudo rm /etc/apt/sources.list.d/*******。
14. 接第12步,12步执行后会生成一个叫做build_pip_package的脚本,按照如下命令运行这个脚本,在/tmp/tensorflow_pkg文件夹中创建pip的安装包:
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
执行命令pip安装。
15. 卸载软件的指令:sudo apt-get remove –purge bazel(软件名称)。
16. winscp服务器拒绝了SFTP连接,但它监听FTP连接问题的解决或(git中ssh:connection refused连接问题的解决):
原因:Ubuntu上没有安装sshd;
解决方法:sudo apt-get install openssh-server,之后输入sudo ps -e | grep ssh就可以看到sshd在执行。
17. 正确安装bazel的方法:
18. 原生”pip”安装tensorflow:
19. 安装tensorflow出现:“ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory”问题的解决:
原因:tensorflow的版本和cuda,cudnn版本对应配套;
解决方法:降低tensorflow版本:pip install tensorflow-gpu==1.9.0
真实原因是下面的第三种:
原因1:cuda9.0以及cudnn7未能安装或正确安装。
解决方案:安装cuda及对应cudnn,已安装情况下检查路径usr/local/cuda-9.0/lib64下是否有 libcublas.so.9.0文件
原因2:tensorflow版本与cuda不对应。
解决方案:升级tensorflow
原因3:路径未加入环境
解决方案:sudo gedit ~/.bashrc 在文档尾部加上
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/
如果之前添加过但写法与此不同,仍然报错,请按此格式添加,本人之前写的是
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH,改成上边的写法就不报错了。
添加完路径之后别忘了 source ~/.bashrc
20. 升级tensorflow:
(tensorflow)$ pip install --upgrade tensorflow # for Python 2.7
(tensorflow)$ pip3 install --upgrade tensorflow # for Python 3.n
21. pycharm安装及快捷方式建立:
a. 安装:下载解压后在bin文件夹下运行:sh pycharm.sh;
b. 快捷方式:首先建立文件:
cd /usr/share/applications/
sudo vim Pycharm.desktop
其次写入内容:
[Desktop Entry]
Type = Application
Name = Pycharm
GenericName = Pycharm
Comment = Pycharm:The Python IDE
Exec = sh /home/lxq/Downloads/pycharm/bin/pycharm.sh
Icon = /home/lxq/Downloads/pycharm/bin/pycharm.png
Terminal = pycharm
Categories = Pycharm;
22. 查看cuda和cudnn版本的指令:
查看cuda版本:cat /usr/local/cuda/version.txt;
查看cudnn版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
23. pytorch安装的方法:
a. 对于python2.7: sudo pip install torch torchvision;
b. 对于python3.5: sudo pip3 install torch torchvisioni;
24. 安装lua和luarocks:
a. sudo apt-get update; sudo apt-get install luarocks;
b. http://luarocks.org/releases/ 页面选择需要的软件包;
c. 下载后解压进入文件夹:
然后终端输入:sudo ./configure --prefix=/usr/local/luarocks。
25. cmake的用途及使用方法:
cmake主要用途是:告诉编译器如何去编译链接代码,在windows平台下通过project文件管理makefile,如果不用cmake,那么windows和linux系统就要写对应的project文件和makefile文件,如果有cmake,就可以只需要编写一次cmake,用在多个平台,语法简单,就是所谓“write once, use everywhere”。
26. torch和pytorch是不同的,PyTorch是Torch7团队开发,从名字可以看出PyTorch与Torch不同的地方就在于PyTorch是用Python语言开发的。说明PyTorch是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,是现在很多主流框架例如Tensorflow所不支持的。
PyTorch的特点:a. 支持GPU;b. 动态神经网络;c. Python优先;d. 命令式体验。具体地,使用Pytorch而不是tensorflow的原因有:
(1)掌握一个框架并不能一劳永逸,现在深度学习并没有谁拥有绝对的垄断地位,就算是Google 也没有,所以只学习Tensorflow 并不够。同时现在的研究者使用各个框架的都有,如果你要去看他们实现的代码,至少也需要了解他们使用的框架,所以多学一个框架,以备不时之需。
(2)Tensorflow 与Caffe 都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次使用同样的结构,如果想要改变网络的结构,就必须从头开始。但是对于PyTorch,通过一种反向自动求导的技术,可以让你零延迟地任意改变神经网络的行为,尽管这项技术不是PyTorch 独有,但目前为止它实现是最快的,能够为你任何疯狂想法的实现获得最高的速度和最佳的灵活性,这也是PyTorch 对比Tensorflow 最大的优势。
(3)PyTorch 的设计思路是线性、直观且易于使用的,当你执行一行代码时,它会忠实地执行,并没有异步的世界观,所以当你的代码出现Bug 的时候,可以通过这些信息轻松快捷地找到出错的代码,不会让你在Debug 的时候因为错误的指向或者异步和不透明的引擎浪费太多的时间。
(4)PyTorch 的代码相对于Tensorflow 而言,更加简洁直观,同时对于Tensorflow高度工业化的很难看懂的底层代码,PyTorch 的源代码就要友好得多,更容易看懂。深入API,理解PyTorch 底层肯定是一件令人高兴的事。一个底层架构能够看懂的框架,你对其的理解会更深。
27. Torch7的安装方法:
a. 首先确定git已经安装;
b. 终端输入:git clone https://github.com/torch/distro.git ~/torch_self_path –recursive
c. 进入下载文件夹:输入:bash install-deps;
d. 安装好依赖文件后,终端输入:sudo ./install.sh 。
28. linux/ubuntu里面卸载软件的方法
a、在终端里 apt-get安装的软件:
安装软件sudo apt-get install softname1 softname2softname3……
卸载软件 sudo apt-get remove softname1 softname2 softname3……
卸载并清除配置sudo apt-get remove --purgesoftname1
更新软件信息数据库 sudo apt-get update
进行系统升级sudo apt-get upgrade, sudo apt-get distupgrade
搜索软件包 sudo apt-cache search softname1 softname2 softname3……
b、安装的deb包要用此方法:
安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r --purge xxx.deb
查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx
c、在“synaptic pakagemanager”里:
点搜索,输入软件名
在需要安装或卸载的软件上右击-点标记-最后点应用
d、现在还可以在 software center里面,直接卸载。
e、卸载源代码编译的的软件:
cd 源代码目录
make clean
./configure
(make)
make uninstall
rm -rf 目录
清理系统:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
(或使用ubuntu-tweak清理)
29. linux下卸载文件的方式要根据情况而定:如果是用apt-get install装的,那就用apt-get remove删除。如果pacman -S 装的,就用pacman -R删除。如果自己编译make && make install装的,就得看makefile里面有没有写uninstall方法,有的话可以用make uninstall。没有的话看makefile里面install方法复制到了哪些文件夹,删之。
30. 查找软件: whereis lua;要删除某软件可先用该指令找到软件安装位置,然后再挨个删除。
31. lua安装步骤:
a. 去官网下载最新版本:https://www.lua.org/ftp/;
b. 解压后进入文件夹:依次输入:make linux test;make install;
32. luarocks安装步骤:
去官网下载软件:https://luarocks.github.io/luarocks/releases/或者:wget https://luarocks.org/releases/luarocks-3.0.2.tar.gz;
解压后执行下列命令:
$ ./configure;
$ sudo make bootstrap
$ sudo luarocks install luasocket
执行完后在终端输入luarocks就能看到luarocks已经安装完成。
33. ubuntu16.04卸载cuda9.0的步骤;
sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
sudo /usr/bin/nvidia-uninstall
然后重启: sudo reboot
34. 卸载掉cuda后,torch7才安装成功。
35. 遇到“cuda 9.0 "error: more than one operator "==" matches these operands"”问题的解决:
输入指令:export TORCH_NVCC_FLAGS="-D__CUDA_NO_HALF_OPERATORS__";
然后再输入:source ~/.bashrc;
最后输入:th 便能看到torch安装成功。
36. luarocks介绍:luarocks是一个Lua包管理器,基于Lua语言开发,提供一个命令行的方式来管理Lua包依赖、安装第三方Lua包等,社区比较流行的包管理器之一,另还有一个LuaDist,Luarocks的包数量比LuaDist多。
37. 采用luarocks进行install时出现“torch>=7.0”:No results matching query were found.问题的解决:
原因:安装luarocks时采用的方式:sudo apt-get install luarocks,但是这种方式安装后的rock包是在/usr/local/lib/luarocks/rocks中,与torch中的luarocks不是同一个。
首先安装完torch后,luarocks是自动安装好的,在安装完torch后,可以键入命令:
luarocks ; luarocks list;
解决方法:采用torch中的luarocks进行安装,torch中的luarocks在torch7/install/bin/luarocks文件中,具体的指令应改为:
sudo /home/vipadm3/sorfwares/torch7/install/bin/luarocks install deep-encoding-scm-1.rockspec.
38. cutorch包是torch的CUDA版本,torch提供FloatTensor张量,而cutorch能提供所有运算在GPU上操作的Cuda Tensor张量,cutorch中的函数可以设置和获得设备的属性等信息。
39. 采用luarocks安装cutorch的指令:
sudo /home/vipadm3/sortwares/torch7/install/bin/luarocks install cutorch.
40. 安装cunn和cudnn的指令:
sudo /home/vipadm3/sortwares/torch7/install/bin/luarocks install cunn/cudnn.
41. 采用指定libcudnn的方法:
export CUDNN_PATH=”/home/vipadm3/softwares/cuda/cudnn/lib64/libcudnn.so.7”
42. ubuntu终端中如果需要一次性执行多个指令,中间用“&&” 连接即可,例如:
git clone https://github.com/soumith/cudnn.torch.git -b R7 && cd cudnn.torch && luarocks make cudnn-scm-1.rockspec.
这里需要注意luarocks make和luarocks install的区别,两者的后缀是不一样的。
43. 问题“These bindings are for CUDNN 5.x (5005 <= cudnn.version > 6000) , while the loaded CuDNN is version: 7003. Are you using an older or newer version of CuDNN?”的解决方法:
git clone https://github.com/soumith/cudnn.torch.git -b R7
cd cudnn.torch
luarocks make cudnn-scm-1.rockspec
44. 采用git clone的方式下载时,默认是下载到当前目录底下。
45. ubuntu添加库路径的正确方法:
export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-
9.0/lib64:$ LD_LIBRARY_PATH