我的环境
python 2.7.16 + tensorflow 1.14.0 + cudnn 7.6.0 + cuda 10.1.168 + miniconda2 latest version
!!! 以后ubuntu装系统 要把/usr建出来 因为要装软件在usr里面, 即:
/(根目录);/usr(软件安装1);/home(软件安装);/swap(内存条作用)
Swap分区设置多大为好
-
sudo swapon --show
-
我是32G的内存,虚拟内存似乎不怎么有用…
swap的用处是你的系统内存不够了的时候不至于立刻杀进程,而是可以拿硬盘缓冲一下
一般来说可以按照如下规则设置swap大小:
**4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。**
命令行登录服务器
-
查看已经安装的ssh
dpkg -l | grep ssh
-
安装SSH-service
sudo apt-get install openssh-server
-
ps -e | grep ssh
是否已经启动?否sudo /etc/init.d/ssh start或sudo service ssh start -
登录 输入yes后输入密码
ssh username@192.168.1.103
-
断开
exit
Docker镜像和容器的建立
-
进入含有Dockerfile文件的路径下
cd [path]
-
构建镜像
sudo docker build -t [name]:[tag] .
-
- 报错与解决:docker报错:invoke-rc.d
-
- 查看镜像:
docker images
- 查看镜像:
-
构建容器
sudo docker run -it -runtime=nvidia --name XXX [name]:[tag] bash
-
sudo docker run -it --name XXX [name]:[tag] bash
-
在容器内
conda install tensorflow-gpu
-
sudo docker start [name] - sudo docker attach [name]
-
在容器中建立conda环境
conda create --name myenv python=3.5
-
Dockerfile
FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu14.04
MAINTAINER LJ <BeBuBu@163.comeasy example>
#
# Install Miniconda in /opt/conda
#
RUN apt-get update --fix-missing && apt-get install -y wget bzip2 ca-certificates \
libglib2.0-0 libxext6 libsm6 libxrender1 \
git mercurial subversion libbz2-dev libz-dev libpng-dev
RUN echo 'export PATH=/opt/conda/bin:$PATH' > /etc/profile.d/conda.sh && \
wget --quiet https://repo.continuum.io/miniconda/Miniconda2-4.3.21-Linux-x86_64.sh -O ~/miniconda.sh && \
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
rm ~/miniconda.sh
ENV PATH /opt/conda/bin:$PATH
ENV LD_LIBRARY_PATH /usr/local/cuda-10.1/lib64:/usr/local/cuda-10.1/extras/CUPTI/lib64:$LD_LIBRARY_PATH
Conda 等
-
conda env list
-
conda create --name pytorch_py3 python=3.6
-
conda activate pytorch_py3
-
conda install -c anaconda pytorch-gpu
pytracking 安装配置
pysot 安装配置
- 注意: 配置中出现没有模块 "pysot"时,
export PYTHONPATH=/media/lee/Document/Code_Files/visual_tracking/pysot:$PYTHONPATH
export PYTHONPATH=/media/lee/Document/Code_Files/visual_tracking/pysot/pysot:$PYTHONPATH
cudnn
Ubuntu matlab
ubuntu 18.04 + GPU + CUDA + cuDNN
安装cuda10.1时 https://blog.csdn.net/qq_14824885/article/details/81142409
因为已经有安装显卡驱动,所以 选择安装选项:不选驱动,否则会安装失败!参考
- 我在ubuntu18.04系统上安装了cuda和cudnn,具体会安装到/usr/local/cuda路径下,用了两个文件
cuda_10.1.168_418.67_linux.run // cudnn-10.1-linux-x64-v7.6.4.38.tgz
Ubuntu根目录扩容 (双系统)
-
1 windows下对有空余空间的磁盘进行 压缩卷 - 新建卷
-
2 进入ubuntu下搜索 Disk, 对上一步得到的新卷进行格式化
-
3 ubuntu命令行下 sudo blkid 复制UUID
-
4 命令行运行
sudo vim /etc/fstab
或者sudo gedit /etc/fstab
-
5 在文尾加上
# expand /dev/sdc2
UUID=2a4a1ba3-84e5-44a7-8284-befcae1fea47 / ext4 defaults 0 0
- 6 reboot 即在root路径下挂在了从windows中压缩出的空间
以上方法在我的电脑上无效,无法挂载在所有ubuntu装系统时就设定的区间: 出错!! ==> `error mounting
system-managed device // already mounted on /`
⇒ ⇒ ⇒ ⇒ ⇒ ⇒
W1
-
建立Gparted Live USB:
sudo dd if=gparted-live-1.0.0-5-amd64.iso of=/dev/sde1 bs=4M; sync
-
这个方法在我试的时候没有用,F8启动的时候,U盘启动盘没有检测到!
W2 ---- √√√√√
-
sudo apt-get install p7zip-full
-
sudo chmod u+x unetbootin-linux64-675.bin
-
sudo ./unetbootin-linux64-675.bin
-
第三步的时候虽然100%了,但是一直卡住,我试了强制退出,后续步骤也没影响
-
开机F8(Asus主板)选择usb盘启动,语言选择02(English),其他默认,进入gparted,对root(/)文件resize/move,左右滑动包含unallocated硬盘内容,以后要把/usr文件建出来,这样/路径下基本只有不到20G的内容!
-
PS: 开机启动的时候,我主机上前面的两个USB也有问题,我插到了后面,这可能也是一个有效的步骤!
Ubuntu - Matlab R2017b 安装
-
进入iso文件,
sudo ./install
-
matlab 黑色主题 run(‘VLFEATROOT/toolbox/vl_setup’)
-
yahei-console-hybird 下载安装:
-
这个matlab软件内 “打开文件夹”看不到“/media/*”相关的路径下文件,但是直接复制粘贴路径也可以访问到文件夹!
-
开启抗锯齿
MATLAB -> Fonts run('VLFEATROOT/toolbox/vl_setup')-> Using antialiasing ... 开启
run(‘VLFEATROOT/toolbox/vl_setup’)
sudo gedit /etc/profile
export PATH=$PATH:/usr/local/matlab/bin
ASRCF 配置
0 下载
sudo git clone https://github.com/Daikenan/ASRCF.git
cd ./ASRCF/
git submodule init
git submodule update
1 运行
install.m
- 修改1 ,问题:
解决方法:
vl_compilenn('enableGpu', 'true', ...
'cudaRoot', '/usr/local/cuda', ...
'cudaMethod', 'nvcc', ...
'enableCudnn', 'true', ...
'Debug', 'true')
- 修改2 - 问题
将 “&&” 修改为 “&”!!
- 修改3 - 问题
解决:sudo apt-get install libjpeg-dev
18.04系统自动装的opencv 3.2
2 测试
ASRCF_Demo.m
-
问题 -
-
解决方法:
Step 1 github官方opencv249 解压完了 创建build文件夹 进入build文件夹之后 执行
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv249 -D WITH_CUDA=ON -D WITH_OPENMP=ON -D WITH_QT=ON -D WITH_EIGEN=ON ..
报错:
Q1fatal error: linux/videodev.h: No such file or directory
Q2 fatal error: sys/videoio.h: No such file or directory
Q3 `The following variables are used in this project, but they are set to NOTFOUND.
opencv_dep_CUDA_nppi_LIBRARY`
S1 前一个问题解决:
sudo yum install libv4l-devel
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
S2 后一个问题解决
在usr/include中新建sys文件夹,从网上下载videoio.h,或者直接touch一个(不影响使用), sudo touch // sudo gedit
。直接从GIT上这个位置下载了sys文件路径下所有文件 放在usr/include/sys/
下!
S3 在编译的命令里面添加一条-D WITH_CUDA=OFF就行了。
PS: WITH_EIGEN=OFF
Step 2 make -j4
Q1
[ 41%] Built target opencv_features2d
Makefile:162: recipe for target 'all' failed
S1 build选项中增加-DBUILD_TIFF=ON
Step 3 sudo make install
Step 4
卸载sudo apt-get install libjpeg-dev
的库命令:sudo apt remove libopencv*
如果是默认安装路径是 /usr/local/lib,一般不需要额外设置,install时放在了系统目录,以下操作主要是针对自定义安装路径或者多版本管理!!!
在.bashrc文件中 加入 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv249/lib/pkgconfig
Step 5
在utils文件下新建 compile.m
if ispc % windows
mex -lopencv_core242 -lopencv_imgproc242 -L./ -I./ mexResize.cpp MxArray.cpp
else
% mex -lopencv_core -lopencv_imgproc -L./ -I./ mexResize.cpp MxArray.cpp
mex -lopencv_core -lopencv_imgproc -L"/usr/local/opencv249/lib" -I"/usr/local/opencv249/include" mexResize.cpp MxArray.cpp
end
并且将 libopencv_core.so.2.4
和 libopencv_imgproc.so.2.4
加入utils下
运行compile.m
Step 6
运行ASRCF_Demo.m
造成這個現象的原因是libstdc++.so.這個文件。在Windows下沒什麼問題,但是linux系統有這個文件,matalb自己也有這個問題,所以發生了呼叫了錯誤。為了修正這個錯誤,可以設定一下讓matlab調自己的庫而不是系統的庫。通過在命令列裡設定並開啟MATLAB就可以了!
~~- ImportError: ‘/usr/local/MATLAB/R2017b/bin/matlab’ :invalid ELF header !!!
—~~
原因就是.bathrc文件后添的export的几行命令似乎没有添加进去,opencv的lib库和stdc++的库lib都不为matlab所知!
改装Matlab 2018b - 这个不用 还是2017a
ubuntu - matlab2018b - install
sudo rm -rf /usr/local/MATLAB
sudo apt-get autoremove matlab-support
多装几个g++版本
已经安装了g++7 ,再安装g++4.8 实现多个gcc版本,并能够切换
1 ls /usr/bin/gcc*
2 sudo apt install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib
3 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
4 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60
5 sudo update-alternatives --config gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±7 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±4.8 50
sudo update-alternatives --config g++
类似的还装了g++6
- 文件
.bathrc
尾部加了:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv249/lib/pkgconfig
export LD_PRELOAD=$LD_PRELOAD:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.26:/usr/lib/x86_64-linux-gnu/libprotobuf.so.10:/usr/lib/x86_64-linux-gnu/libprotobuf.so.10.0.0:/usr/local/opencv249/lib/libopencv_core.so.2.4:/usr/local/opencv249/lib/libopencv_imgproc.so.2.4
并且因为matlab2017a的bin下的matlab文件路径加入了profile中,所以在运行matlab
就能打开matlab,但是注意要用sudo matlab
,否则有些文件没有访问权限!
``MATLAB is selecting SOFTWARE OPENGL rendering.
/usr/local/MATLAB/R2017b/bin/glnxa64/…/…/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9’ not found (required by /usr/lib/x86_64-linux-gnu/libproxy.so.1)
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so``
原因:libstdc++.so.6文件冲突,把matlab文件下的libstdc++.so.6移到其他文件夹!
# cd /usr/local/MATLAB/R2017b
# cd sys/os/glnxa64
# sudo mkdir exclude
# sudo mv libstdc++.so.6* exclude/
# exit
For Ubuntu (and its variants) there is the package matlab-support, which creates a shortcut for MATLAB in the launcher and applies a few bugfixes created by the community.
sudo apt install matlab-support
sudo ldconfig -v
卸载了matlab2018和matlab2017b
安装了matlab R2017a
安装Matlab R2017a
成功调通ASRCF
不知道咋弄的,反正就可以了, matlab2017a + ubuntu18.04 + g++6.5 , 运行install,没有重新生成mexResize(未运行compile.m),
- 可能是安装的时候用了 sudo bash下 安装了 install
- 现在运行
sudo bash
+matlab
,打开matlab运行后可以读入.bashrc
文件的相关路径!
Matlab Support
- 安装matlab support,路径输入:
/usr/local/MATLAB/R2017a
- 装完之后,不是在sudo权限下运行的matlab, 出现java exception之类的错误
- sudo bash // matlab 启动后在clear all // push, 显示错误:
This error was detected while a MEX-file was running. If the MEX-file is not an official MathWorks function,
??? How to Solve ???
Ubuntu 卡死
Ctrl + Alt + F1~6 进入 tty终端
sudo restart lightdm 或者 sudo pkill Xorg
Ubuntu 表格
Gnumeric
sudo apt install gnumeric
Collaborative Mind Maps
Coggle
Mathpix
sudo snap install mathpix-snipping-tool
conda - create - proxyerror
将代理方式改为pca代理
Ubuntu - QQ
git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git
- 进入文件夹,
./install.sh
wget http://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.im/deepin.com.qq.im_8.9.19983deepin23_i386.deb
sudo dpkg -i deepin.com.qq.im_8.9.19983deepin23_i386.deb
sudo apt-get install -f
sudo apt-get remove deepin.com
sudo sn uninstall.sh
git clone https://github.com/wszqkzqk/deepin-wine-ubuntu.git
./install.sh
- link
dpkg -i deepin.com.qq.office_2.0.0deepin4_i386.deb
Ubuntu - 网易云音乐
18.04 桌面网易音乐打不开 链接
Ubuntu 任何窗口下
ctrl+t 当前窗口加标签页 ctrl+shift+n 新建文件夹 ctrl+n 打开新窗口
Ubuntu - TIM - 中文乱码
将系统切换为中文,好了… …
Ubuntu 桌面美化 - Max Style
改变Matlab的UI界面字体大小
set(0, 'DefaultUIControlFontSize', 10);
Ubuntu 安装OneNote
How to install onenote-desktop
on Ubuntu
sudo apt update
sudo apt install snapd
sudo snap install onenote-desktop --beta
Conda环境.yml // Pip环境.txt
environment.yml // requirements.txt
conda env export | grep -v "^prefix: " > environment.yml
conda env create -f environment.yml
conda env create -f environment.yml -p /home/user/anaconda3/envs/env_name
conda create -n envname2 --clone envname1
conda remove -n envname2 --all
conda remove -env envname2
pip freeze >requirements.txt
pip install -r requirements.txt
Matlab 崩溃
应该是su bash下运行matlab可能会引用一些不好的内存!用sudo matlab应该就不会崩溃,但是会找不到lib路径!
sudo matlab
下运行:
!ldd mexResize.mexa64
结果:
linux-vdso.so.1 (0x00007ffcd855c000)
libopencv_core.so.2.4 => not found
libopencv_imgproc.so.2.4 => not found
libmx.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmx.so (0x00007faf3c282000)
libmex.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmex.so (0x00007faf3c047000)
libstdc++.so.6 => /usr/local/MATLAB/R2017a/sys/os/glnxa64/libstdc++.so.6 (0x00007faf3bd35000)
libgcc_s.so.1 => /usr/local/MATLAB/R2017a/sys/os/glnxa64/libgcc_s.so.1 (0x00007faf3bb1f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007faf3b900000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faf3b50f000)
libmwresource_core.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmwresource_core.so (0x00007faf3b30d000)
libmwi18n.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmwi18n.so (0x00007faf3afbc000)
... ...
而sudo bash + matlab
下运行:
!ldd mexResize.mexa64
结果:
linux-vdso.so.1 (0x00007ffd3a4e3000)
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcc9ea14000)
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10 (0x00007fcc9e5bb000)
/usr/local/opencv249/lib/libopencv_core.so.2.4 (0x00007fcc9e122000)
/usr/local/opencv249/lib/libopencv_imgproc.so.2.4 (0x00007fcc9dc2c000)
libmx.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmx.so (0x00007fcc9d89a000)
libmex.so => /usr/local/MATLAB/R2017a/bin/glnxa64/libmex.so (0x00007fcc9d65f000)
libgcc_s.so.1 => /usr/local/MATLAB/R2017a/sys/os/glnxa64/libgcc_s.so.1 (0x00007fcc9d449000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcc9d22a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcc9ce39000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcc9ca9b000)
ldd (Shell)
linux-vdso.so.1 => (0x00007ffc7ec9b000)
libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00007f33cb6ff000)
libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00007f33cb4b0000)
libopencv_imgproc.so.2.4 => /usr/l ... ...
ldd(matlab)
linux-vdso.so.1 => (0x00007ffd62378000)
libopencv_core.so.2.4 => /usr/local/MATLAB/R2016a/bin/glnxa64/libopencv_core.so.2.4 (0x00007fa4d1fde000)
libopencv_highgui.so.2.4 => /usr/local/MATLAB/R2016a/bin/glnxa64/libopencv_highgui.so.2.4 (0x00007fa4d1db8000)
libopencv_imgproc.so.2.4 => /usr/local/MATLAB/R2016a/bin/glnxa64/libopencv_imgproc.so.2.4 (0x00007fa4d1922000)
matlab下会有默认的opencv路径,matlab2017a是3.1版本!
sudo cp -r ./* /usr/local/MATLAB/R2017a/bin/glnxa64
sudo mkdir exclude
sudo mv libstdc++.so.6* exclude/
sudo cp libstdc++.so.6* /usr/local/MATLAB/R2017a/sys/os/glnxa64
总的来说就是把系统下的stdc++库和opencv库,复制移动到matlab的路径下。
似乎可以有改bashrc PRELOAD路径,但是我就不研究了,花时间!!!
Matlab - VLfeat
run('VLFEATROOT/toolbox/vl_setup')
vl_version verbose
Python2语法转换为Py3
首先进入相关的python环境
运行: 2to3 -w mondrianforest.py
XX
opencv 3.x 不支持cuda10
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files
链接- opencv 3.1.0 + cuda 10 + mexopencv
stdlib.h: No such file or directory
- sudo update-alternatives --config gcc
- 将gcc g++ 版本切换成6
Matlab
- matlab还是在windows上使用吧,Ubuntu各种报错,难受
- 装cuda 10.1 和cudnn10.1
- mexopencv
安装
xfeature2d -> boostdesc vgg
- download_boostdesc.cmake 和 download_vgg.cmake 文件里面的hash码不对,先是手动下载,如下
- 修改
"file:E:/opencv341/opencv/.cache/xfeatures2d/boostdesc/" # "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${OPENCV_3RDPARTY_COMMIT}/"
- 安装cmake提示的hash码,修改上述两个文件的hash码!
Ubuntu - Matlab
- 哎,还是太菜了,matlab和Ubuntu结合用用不来,以后还是matlab在win10下用吧,py环境用Ubuntu,脚本类环境更适合linux系统!
语言 - 环境 - 效率
希望能确定以后每个语言都有自己熟悉好用的环境,比如C++用Qt可能更加适合多平台,熟悉之后更加有效率,python用conda+vscode更加适合深度学习的开发,如果要用matlab,可以结合mexopencv+matconvnet,构造CV和DL的平台!
Conda 下载慢问题
增加清华镜像:设置参考
curl安装
sudo apt install curl
Linux下解压分包文件zip(zip/z01/z02)
分包压缩的zip文件不能被7z解压,且这种格式是Windows才能创建出来,在Linux下不会以这种方式去压包
cat xx.z01 xx.zip > full.zip
unzip full.zip
使用conda安装requirement.txt指定的依赖包
生成requirement.txt文件
pip freeze > requirements.txt
安装requirement.txt文件依赖
pip install -r requirements.txt
除了使用pip命令来生成及安装requirement.txt文件以外,也可以使用conda命令来安装。
conda install --yes --file requirements.txt
但是这里存在一个问题,如果requirements.txt中的包不可用,则会抛出“无包错误”。
使用下面这个命令可以解决这个问题
$ while read requirement; do conda install --yes $requirement; done < requirements.txt
如果想要在conda命令无效时使用pip命令来代替,那么使用如下命令:
$ while read requirement; do conda install --yes $requirement || pip install $requirement; done < requirements.txt
也可以这样子操作 导出到.yml文件
conda env export > freeze.yml
直接创建conda环境
conda env create -f freeze.yml
pip国内源 加速安装
pip --default-timeout=9999 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple