ubuntu安装python3.5+pycharm+anaconda+opencv+docker+nvidia-docker+tensorflow+pytorch+Cmake3.8

一,切换python版本为3.5

装好ubuntu,python版本是2.7的

我自己安装并更改打开为python3.5

sudo apt-get install python3.5

设置优先级和默认环境:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

切换版本:

update-alternatives --config python

可看见python已经为3.5了。

二,安装pycharm:

pycharm官网

 

三,安装anaconda

下载python3.5对应的版本

https://repo.anaconda.com/archive/

然后:

~$ cd 下载
~/下载$ bash Anaconda2-4.2.0-Linux-x86_64.sh

这里需要一直按Enter,直到出现需要输入yes or no 。输入yes后,会显示Anaconda将要安装到哪个目录下,可以自行修改,这里我选择默认的路径,直接回车。最后会提示添加环境变量,输入yes后,安装完成。

pycharm中更改解释器路径。

ok,,结束。

在~/.bashrc添加

export PATH="/home/fzh/anaconda2/bin:$PATH"(注意py3是anaconda3)

在source一下 

创建虚拟环境

conda create -n your_env_name python=x.x

激活进入

source activate your_env_name 

查看已有的虚拟环境

conda-env list

删除环境

conda remove -n conda_name --all

卸载anaconda

首先直接删除整个anaconda文件夹,在vim ~/.bashrc

注释掉#  export PATH="/home/fzh/anaconda2/bin:$PATH"

最后在source  ~/.bashrc

重启终端

更换conda源

将以上配置文件写在~/.condarc中
vim ~/.condarc

channels:- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/- defaults
show_channel_urls: true

安装opencv

pip install opencv-contrib-python

pip install opencv-python

四,安装docker

修改docker硬盘路径

docker/nvidia-docker 操作指南

https://www.dongliwu.com/archives/61/#directory0824639160743786413

若先前有安装docker需要先卸载(若没有安装过则无需执行),执行命令: 
sudo apt-get remove docker docker-engine docker.io 
Docker的安装有多个方式,这里以最常见的方式为例。首先依次执行以下命令,把docker仓库加进到apt里.

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
正式安装docker: 
sudo apt-get update 
sudo apt-get install docker-ce 
apt-cache madison docker-ce 
sudo docker run hello-world 
最后一个命令是验证docker是否安装成功,它会下载并执行hello-world镜像。如果安装正确,应该可以正确执行。如果提示找不到,多重复几次即可.

五,安装nvidia-docker

装好记得重启,命令如下.

sudo systemctl daemon-reload
sudo systemctl restart docker

这里有一个小bug,如果上述操作还会报 Error response from daemon: Unknown runtime specified nvidia.

通过 vim /usr/bin/nvidia-docker

修改为如下,重启docker ,在改回去,在重启即可解决问题。

我利用有驱动的官方镜像安装其他环境,首先把docker跑起来

sudo nvidia-docker run -it  nvidia/cuda:9.0-base

apt-get update

apt-get upgrade

接下来,完善此镜像。安装完整的cuda-toolkit:
官方的镜像不完整,这一步很关键

apt install cuda-toolkit-9-0

apt-get install python3

apt-get install python3-pip

然后按照这个链接去装cuda和cudnn即可.

https://blog.csdn.net/fanzonghao/article/details/89707519

想要更新原来的镜像,比如上述都安转好了,用commit命令,adaf25712ec8是原有镜像的id,chaos_gpu是新镜像的名字,用docker images即可查看新的镜像

commit后面是ps出来的容器ID,后面跟自己想要保存的名字,我这里是chaos_gpu

sudo nvidia-docker commit adaf25712ec8 chaos_gpu

保持镜像到本地:

https://www.runoob.com/docker/docker-save-command.html

将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档

docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3

载入本地镜像:

docker load -i tf_torch_gpu.tar

进入镜像 docker run --runtime nvidia -it ufoym/deepo:tensorflow-py36 bash

用Dockerfile创建镜像

1.1示例

#进入代码文件夹目录
1.vim Dockerfile (配置Dockerfile)
FROM fzh_image:torch_0.4_tf_1.12
COPY ./ /pcb_API (相对路径更好,绝对路径会出错)
LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8RUN sed -i 's/^\(deb\|deb-src\) \([^ ]*\) \(.*\)/\1 http:\/\/mirrors.aliyun.com\/ubuntu \3/' /etc/apt/sources.list && \apt update && apt install -y --no-install-recommends libsm6 libxrender1 libxext6 libgtk2.0-dev && \apt clean && rm -rf /var/lib/apt/lists/*RUN pip install h5py torch==0.4.0 requests bs4 flask opencv-python pillow numpy pandas -i https://pypi.tuna.tsinghua.edu.cn/simpleRUN mkdir /root/.torch /root/.torch/models
RUN cp -r /pcb_API/models/densenet/densenet169-b2777c0a.pth /root/.torch/models/WORKDIR /pcb_APIENTRYPOINT ["python","/pcb_API/manage_API.py"]

1.2带有字体的dockerfile

FROM daxin-docker:1.0
COPY ./ /LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selectionsRUN apt-get update && apt-get install -y --no-install-recommends poppler-data ttf-mscorefonts-installer fontconfig
RUN mkdir /usr/share/fonts/myfonts
RUN cp -r /FONT/* /usr/share/fonts/myfonts/
RUN fc-cache -fv
RUN chmod -R 777 /usr/share/fonts/myfontsRUN pip install imutils opencv-python==3.4.2.16 sqlalchemy_utils -i https://pypi.tuna.tsinghua.edu.cn/simple
WORKDIR /srcENTRYPOINT ["python","manage_pdf.py"]

1.3干掉nvidia源的dockerfile

FROM pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel
COPY ./ /LABEL maintainer="fzh@youedata.com"ENV LC_ALL C.UTF-8
ENV LANG C.UTF-8
ENV DEBIAN_FRONTEND noninteractive
# 移除nvidia的源, 解决nvidia cdn报错
RUN rm /etc/apt/sources.list.d/cuda.list /etc/apt/sources.list.d/nvidia-ml.list
RUN sed -i 's/^\(deb\|deb-src\) \([^ ]*\) \(.*\)/\1 http:\/\/mirrors.aliyun.com\/ubuntu \3/' /etc/apt/sources.list
RUN apt-get clean
RUN mv /var/lib/apt/lists /tmp
RUN mkdir -p /var/lib/apt/lists/partial
RUN apt-get clean
RUN apt update && apt-get install -y --no-install-recommends zbar-tools python-jpype tk-dev python-tk libffi-dev
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN dpkg-reconfigure -f noninteractive tzdata
RUN pip install requests Cython setuptools==41.0.0 -i https://pypi.douban.com/simple
RUN pip install -r /requirements.txt -i https://pypi.douban.com/simple
RUN pip uninstall enum34 -y
RUN pip install -U --force-reinstall --no-binary :all: gevent -i https://pypi.douban.com/simple
WORKDIR /src
ENTRYPOINT ["gunicorn", "-c", "gunicorn_config.py","-b", "0.0.0.0:6006", "manage:app"]

1.4 pull mysql镜像

拉mysql镜像
docker pull mysql:5.7.26
docker images|grep mysql
docker tag mysql:5.7.26 xunzhenhan/mysql:5.7.26
docker save xunzhenhan/mysql:5.7.26 > xunzhenhan-mysql-5.7.26.tar

1.5 用dockerfile创建mysql镜像,并设置账号密码

FROM hub.youedata.com/new_dataos_deploy/mysql:5.7#设置账号密码登录
ENV MYSQL_ROOT_PASSWORD Admin_2018
#将所需文件放到容器中
#COPY setup.sh /mysql/setup.sh
#COPY schema.sql /mysql/schema.sql
#COPY privileges.sql /mysql/privileges.sql#设置容器启动时执行的命令
CMD ["sh", "/mysql/setup.sh"]

 2.docker bulid

docker build -t pcb_docker . --rm (得到镜像)

3.建容器

run -d就后台挂起

nvidia-docker run -it -p 5112:6006 pcb_api_docker:latestnvidia-docker run -it -p 5112:6006 --entrypoint bash pcb_api_docker:latest(不执行Dockerfile里的python /pcb_API/manage_API.py用做调试)

5.docker的一些命令

批量删除none的docker镜像  docker images|grep none|awk '{print $3}'|xargs docker rmi

删除异常停止的docker容器 docker rm `docker ps -a | grep Exited | awk '{print $1}'`

docker inspect id 查看docker的一些相关信息,对于组件可以查看config.py
docker logs id >xxx.txt 将docker日志输出为txt

docker cp

docker info 可以查看docker的磁盘目录

将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

docker cp /www/runoob 96f7f14e99ab:/www/

将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

docker cp  96f7f14e99ab:/www /tmp/

6.将用户添加进docker用户组

1. 创建docker用户组
sudo groupadd docker
2. 将用户添加到docker用户组
sudo usermod -aG docker USER_NAME
3.查看是否添加成功
cat /etc/group | grep ^docker
4.更新docker组
newgrp docker
5. 重启docker服务
sudo systemctl restart docker

7.docker: Error response from daemon: Unknown runtime specified nvidia.

sudo systemctl daemon-reload
sudo systemctl restart docker

六.下载使用TensorFlow镜像
根据需要的版本下载tensorflow镜像并开启tensorflow容器: 

https://github.com/alibaba/x-deeplearning/wiki/%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85?from=singlemessage

七.安装tensorflow

pip3 install tensorflow-gpu==1.12.0

import tensorflow as tf
a=tf.constant(1)
with tf.Session() as sess:print(sess.run(a))

八.安装pytorch

https://pytorch.org/get-started/locally/

安装torch官网根据cuda版本来安装

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

其中,-c pytorch参数指定了conda获取pytorch的channel,在此指定为conda自带的pytorch仓库。
因此,只需要将-c pytorch语句去掉,就可以使用清华镜像源快速安装pytorch了。

若要安装指定版本的pytorch

pip install torch==0.4.0

import torch
print(torch.version.cuda)
print(torch.cuda.is_available())
print(torch.__version__)

如果出现fasle,去检查cuda是否装好

最终挂载本地与docker同步命令

nvidia-docker run -it -v ~/AI/:/AI -w /AI/  --name=fzh_tf_torch_py3 -p 2111:22 -p 2112:6006 -p 2113:8888 tf_pytorch_gpu:1.12.0_1.1.0 bash

 

九,安装Cmake3.8

官网下载cmake https://cmake.org/files/v3.8/

vim ~/.bashrc  添加环境变量

source ~/.bashrc 

cmake --version

 

参考:

https://blog.csdn.net/WannaSeaU/article/details/88427010

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/493190.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学界 | 量化深度强化学习算法的泛化能力

来源:AI 科技评论OpenAI 近期发布了一个新的训练环境 CoinRun,它提供了一个度量智能体将其学习经验活学活用到新情况的能力指标,而且还可以解决一项长期存在于强化学习中的疑难问题——即使是广受赞誉的强化算法在训练过程中也总是没有运用监…

C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]

面向对象编程--句柄类与继承[续]三、句柄的使用使用Sales_item对象能够更easy地编写书店应用程序。代码将不必管理Item_base对象的指针,但仍然能够获得通过Sales_item对象进行的调用的虚行为。1、比較两个Sales_item对象在编写函数计算销售总数之前,须要定义比較Sales_item对象…

《科学》评出2018年度十大科学突破事件

来源:科学大院《科学》杂志每年会评出在即将过去的一年里最为重要的十大科学突破(Science Breakthrough)。今年,夺得年度突破桂冠的是“单细胞水平细胞谱系追踪技术”,帮助破获多起悬案的法医系谱技术、#MeToo 运动等也…

递归理解以及时间复杂度计算

一.复杂度分析: 可以理解为递归的深度就是空间复杂度,时间复杂度就是O(T*depth),其中T是每个递归函数的时间复杂度,depth是递归深度. #空间复杂度O(1) def sum1_(n):res 0for i in range(n1):resireturn res#递归 空…

性价比高出英特尔45%,亚马逊的云服务器芯片如何做到?| 解读

来源:TheNextPlatform编译:机器之能 张玺摘要:到目前为止,亚马逊和其他大型云运营商几乎全部使用英特尔的 Xeon 芯片。虽然在服务器芯片市场,英特尔市场占有率非常高,但亚马逊正使用折扣策略来赢得客户。亚…

将MyEclipse项目导入到Eclipse中

1.请首先确保你的eclipse是javaee版本的&#xff0c;或者已经安装wtp插件2.然后修改eclipse工程下的.project文件&#xff1a;3.在<natures></natures>中加入<nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.e…

GIOU loss+DIOU loss+CIOU loss

一.IOU 1.GIOU解决没有交集的框,IOU为0,其损失函数导数为0,无法优化的问题。 图1 GIOU,IOU,l2范数差异 a)可看出 l2值一样,IOU值是不一样的,说明L1,L2这些Loss用于回归任务时&#xff0c;不能等价于最后用于评测检测的IoU. b)可看出当框有包含关系,GIOU就退化为IOU 其是找…

《科学》十大年度科学突破反映的新动向

来源&#xff1a;新华网摘要&#xff1a;从测定分子结构到宇宙探索&#xff0c;从发现远古动物到揭示细胞的秘密&#xff0c;美国权威学术刊物《科学》杂志评选的2018年十大科学突破&#xff0c;在时间和空间尺度上拓宽着人类认知的边界&#xff0c;也反映了近年来科学发展的三…

ctpn论文阅读与代码

代码地址: https://github.com/zonghaofan/ctpn_torch 1.通用的目标检测是封闭的,而文字是封闭且连续 2. 构造一系列宽度相等的小文本,回归中心y坐标和高度 3. 对于边界回归x坐标,在进一次修正 4.整个模型就是backbone提取特征,将每个像素点的相邻3*3像素拉成行向量,利用空间…

yum配置与使用

yum配置与使用(很详细) yum的配置一般有两种方式&#xff0c;一种是直接配置/etc目录下的yum.conf文件&#xff0c;另外一种是在/etc/yum.repos.d目录下增加.repo文件。一、yum的配置文件$ cat /etc/yum.conf [main]cachedir/var/cache/yum #yum下载的RPM包的缓存目录k…

新技术不断涌现,下一代云计算的突破口在哪里?

来源&#xff1a;日知录技术社区这是一个IT技术飞速发展的时代&#xff0c;在硬件基础设施的不断升级以及虚拟化网络等技术的日益成熟下&#xff0c;云厂商也正面临着各种新技术带来的巨大挑战。从数据中心的基础建设到云平台的系统构建再到产品底层的技术改革&#xff0c;该如…

生成高斯热力图(craft中有使用)+2d heatmap+3d heatmap

一.生成高斯热力图 from math import exp import numpy as np import cv2 import osclass GaussianTransformer(object):def __init__(self, imgSize512, region_threshold0.4,affinity_threshold0.2):distanceRatio 3.34scaledGaussian lambda x: exp(-(1 / 2) * (x ** 2))…

POP动画[1]

POP动画[1] pop动画是facebook扩展CoreAnimation的,使用及其方便:) 1:Spring系列的弹簧效果(两个动画kPOPLayerBounds与kPOPLayerCornerRadius同时运行) #import "RootViewController.h" #import "YXEasing.h" #import "POP.h" #import "YX…

远比5G发展凶猛!物联网2018白皮书,国内规模已达1.2万亿

来源&#xff1a;智东西摘要&#xff1a;研判物联网的技术产业进展情况&#xff0c;梳理消费物联网、智慧城市物联网、生产性物联网三类物联网应用现状及驱动因素 。在供给侧和需求侧的双重推动下&#xff0c;物联网进入以基础性行业和规模消费为代表的第三次发展浪潮。 5G、 低…

收缩分割多边形(PSENet中有使用)

目的:为了解决密集文本的分割问题 代码: # -*- codingutf-8 -*- import os import cv2 import Polygon as plg import pyclipper import numpy as npdef dist(a, b):return np.sqrt(np.sum((a - b) ** 2))#计算周长 def perimeter(bbox):peri 0.0for i in range(bbox.shape[…

Android 3D emulation 架构理解

Android Emulator 给用户提供 GPU on 选项&#xff0c;意思是利用 Host ( 就是执行 Emulator 的PC机) 的 GPU. 当然PC机必须把 OpenGL 的驱动装好 在实现上就是把 libGLESv1_CM.so libGLESv2.so 替换掉&#xff0c;当system调用 gl的函数的时候&#xff0c;把调用打包为strea…

年度回顾:2018年的人工智能/机器学习惊喜及预测19年的走势

来源&#xff1a;网络大数据考虑到技术变革的速度&#xff0c;我认为让专业IT人士分享他们对2018年最大惊喜及2019年预测的看法会很有趣。以下是他们对人工智能(AI)&#xff0c;机器学习( ML)和其他数据科学迭代的看法&#xff1a;CLARA分析公司首席执行官兼创始人&#xff1a;…

利用dbnet分割条形码与文字(代码+模型)+知识蒸馏+tensorrt推理+利用pyzbar和zxing进行条形码解析

一.DBnet 1.代码链接 分割条形码与文字代码:github链接:GitHub - zonghaofan/dbnet_torch: you can use dbnet to detect word or bar code,Knowledge Distillation is provided,also python tensorrt inference is provided.&#xff08;提供模型&#xff09; 2.论文阅读 …

菜根谭#132

青天白日的节义&#xff0c;自暗室漏屋中培来&#xff1b; 旋乾转坤的经纶&#xff0c;自临深渊履薄处操出。转载于:https://www.cnblogs.com/star4knight/p/3777156.html

全球值得关注的11家人脸识别公司与机构

来源&#xff1a;资本实验室根据美国国家标准与技术研究院&#xff08;NIST&#xff09;的2018年全球人脸识别算法测试&#xff08;FRVT&#xff09;最新结果&#xff0c;今年共有来自全球的39家企业和机构参与本次竞赛。在最新排名中&#xff0c;前五名算法被中国公司包揽&…