华为升腾安装

ubuntu 18.04 x64 安装成功,用ubuntu20.04 x64安装失败了

python3.7.5

https://support.huaweicloud.com/ti-atc-A300_3000_3010/altasatc_16_002.html

 

工具包下载:

https://www.huaweicloud.com/ascend/resource/Software

 

python3.7.5安装

  1. 检查系统是否安装python依赖以及gcc等软件。

     

    分别使用如下命令检查是否安装gcc,make以及python依赖软件等。
    gcc --version
    make --version
    cmake --version
    g++ --version
    dpkg -l zlib1g| grep zlib1g| grep ii
    dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii
    dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii
    dpkg -l openssl| grep openssl| grep ii
    dpkg -l libssl-dev| grep libssl-dev| grep ii
    dpkg -l libffi-dev| grep libffi-dev| grep ii
    dpkg -l unzip| grep unzip| grep ii
    dpkg -l pciutils| grep pciutils| grep ii
    dpkg -l net-tools| grep net-tools| grep ii</span></span></span>
     

    若分别返回如下信息则说明已经安装,进入下一步。

    gcc (Ubuntu 7.3.0-3ubuntu1~18.04) 7.3.0
    g++ (Ubuntu 7.3.0-3ubuntu1~18.04) 7.3.0
    GNU Make 4.1
    cmake version 3.10.2
    zlib1g:amd64   1:1.2.11.dfsg-0ubuntu2 amd64        compression library - runtime
    zlib1g-dev:amd64 1:1.2.11.dfsg-0ubuntu2 amd64        compression library - development
    libsqlite3-dev:amd64 3.22.0-1ubuntu0.3 amd64        SQLite 3 development files
    openssl        1.1.1-1ubuntu2.1~18.04.5 amd64        Secure Sockets Layer toolkit - cryptographic utility
    libssl-dev:amd64 1.1.1-1ubuntu2.1~18.04.5 amd64        Secure Sockets Layer toolkit - development files
    libffi-dev:amd64 3.2.1-8      amd64        Foreign Function Interface library (development files)
    unzip          6.0-21ubuntu1 amd64        De-archiver for .zip files
    pciutils       1:3.5.2-1ubuntu1.1 amd64        Linux PCI Utilities
    net-tools      1.60+git20161116.90da8a0-1ubuntu1 amd64        NET-3 networking toolkit</span></span>
     
    否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可):
    <span style="color:#3d3f43"><span style="color:#3d3f43"><span style="color:#1d2129">sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev unzip pciutils net-tools</span></span></span>
     

     

  2. 检查系统是否安装python开发环境。

     

    开发套件包依赖python环境,分别使用命令python3.7.5 --versionpip3.7.5 --version检查是否已经安装,如果返回如下信息则说明已经安装,进入下一步。

    Python 3.7.5
    pip <em id="ZH-CN_TOPIC_0263888482__zh-cn_topic_0247602988_zh-cn_topic_0247982884_zh-cn_topic_0232383867_i1065173581112">19.2.3 </em>from /usr/local/python3.7.5/lib/python3.7/site-packages/pip (python 3.7)</span></span>
     

    否则请根据如下方式安装python3.7.5。

    1. 使用wget下载python3.7.5源码包,可以下载到安装环境的任意目录,命令为:
      wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz</span></span>
       
    2. 进入下载后的目录,解压源码包,命令为:
      <span style="color:#3d3f43"><span style="color:#1d2129">tar -zxvf Python-3.7.5.tgz</span></span>
       
    3. 进入解压后的文件夹,执行配置、编译和安装命令:
      cd Python-3.7.5
      ./configure --prefix=/usr/local/python3.7.5 --enable-shared
      make
      sudo make install
       

      其中“--prefix”参数用于指定python安装路径,用户根据实际情况进行修改。“--enable-shared”参数用于编译出libpython3.7m.so.1.0动态库。

      本手册以--prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python3.7.5路径,libpython3.7m.so.1.0动态库在/usr/local/python3.7.5/lib/libpython3.7m.so.1.0路径。

    4. 查询/usr/lib64或/usr/lib下是否有libpython3.7m.so.1.0,若有则跳过此步骤或将系统自带的libpython3.7m.so.1.0文件备份后执行如下命令:
      将编译后的文件libpython3.7m.so.1.0复制到/usr/lib64。
      <span style="color:#3d3f43"><span style="color:#3d3f43"><span style="color:#1d2129">sudo cp /usr/local/<em id="ZH-CN_TOPIC_0263888482__zh-cn_topic_0247602988_zh-cn_topic_0247982884_zh-cn_topic_0232383867_i8486105732213">python3.7.5/lib/</em>libpython3.7m.so.1.0 /usr/lib64</span></span></span>
       

      当出现如下显示,则输入y,表示覆盖系统自带的libpython3.7m.so.1.0文件。

      cp: overwrite 'libpython3.7m.so.1.0'?y
       

      如果环境上没有/usr/lib64,则复制到/usr/lib目录:

      sudo cp /usr/local<em id="ZH-CN_TOPIC_0263888482__zh-cn_topic_0247602988_zh-cn_topic_0247982884_zh-cn_topic_0232383867_i81515116237">/python3.7.5/lib</em>/libpython3.7m.so.1.0 /usr/lib
       

      libpython3.7m.so.1.0文件所在路径请根据实际情况进行替换。

    5. 执行如下命令设置软链接:
      sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7
      sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7
      sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5
      sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5
       

      执行上述软链接时如果提示链接已经存在,则可以先执行如下命令删除原有链接然后重新执行。

      sudo rm -rf  /usr/bin/python3.7.5
      sudo rm -rf  /usr/bin/pip3.7.5
      sudo rm -rf  /usr/bin/python3.7
      sudo rm -rf  /usr/bin/pip3.7
       
    6. 安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。
      <span style="color:#3d3f43"><span style="color:#1d2129">python3.7.5 --version
      pip3.7.5  --version</span></span>
       

     

  3. 安装 Python3开发环境。

     

    安装前请先使用pip3.7.5 list命令检查是否安装相关依赖,若已经安装,则请跳过该步骤;若未安装,则安装命令如下(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可)。其中:toolkit包中算子比对工具依赖:protobuf、scipy;profiling工具依赖:protobuf、grpcio、grpcio-tools、requests。

    如果使用非root用户安装Python及其依赖,用户需要在本步骤中的每句命令结尾加上--user,保证安装的正常进行。命令示例为:pip3.7.5 install attrs --user

  4. pip3.7.5 install attrs psutil decorator numpy protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests --user -i https://pypi.tuna.tsinghua.edu.cn/simple

  5.  

    pip3.7.5 install attrs 
    pip3.7.5 install psutil 
    pip3.7.5 install decorator 
    pip3.7.5 install numpy 
    pip3.7.5 install protobuf==3.11.3
    pip3.7.5 install scipy 
    pip3.7.5 install sympy 
    pip3.7.5 install cffi 
    pip3.7.5 install grpcio 
    pip3.7.5 install grpcio-tools 
    pip3.7.5 install requests

 

 Please put "/usr/local/Ascend/ascend-toolkit/20.0.0.RC1/x86_64-linux_gcc7.3.0/pyACL/python/site-packages/acl" into PYTHONPATH to use pyACL! 

安装环境依赖

我们是在普通用户下安装的,首先确保当前环境中有一个普通用户和一个root用户,如果是新建的虚拟机需要先给root用户配置密码后才可以正常登录root用户(sudo passwd root)。以下安装普通用户以ascend举例。

  1. 用户权限配置。
    普通用户安装开发套件,需要有sudo权限,所以首先需要给普通用户配置权限。

    切换为root用户。
    su root

    给sudoer文件配置写权限,并打开该文件。
    chmod u+w /etc/sudoers
    vi /etc/sudoers

    在该文件“ # User privilege specification”下面增加如下内容:
    sudoers
    其中,ascend为开发环境种普通用户用户名,需要根据自己的环境修改。

我添加的: HwHiAiUser ALL=(ALL:ALL) ALL,否则提示没有权限。

  1. 完成后,执行以下命令取消“ /etc/sudoers”文件的写权限。
    chmod u-w /etc/sudoers

  2. 源配置。
    由于安装过程中涉及很多apt依赖和pip依赖的安装,所以配置一个国内源是一个加快进度的好办法。

    • 配置ubuntu18.04-x86的apt清华源。
      root用户下打开apt源文件。
      vi /etc/apt/sources.list

      将源文件内容替换为以下ubuntu18.04-x86的apt清华源。

      root@ubuntu:/home/ascend# cat /etc/apt/sources.list
      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
      deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
      root@ubuntu:/home/ascend# 
      

      执行以下命令更新源。
      apt-get update

      说明:
      如果apt-get update失败,可以试用其他的国内源https://www.cnblogs.com/dream4567/p/9690850.html。

    • 配置pip源(建议使用清华源或中科大源)。
      执行以下命令,切换为普通用户。
      exit

      执行以下命令,创建后打开普通用户家目录下的.pip/pip.conf文件。
      mkdir $HOME/.pip/
      vi $HOME/.pip/pip.conf

      将如下内容填写到pip.conf文件中。

      ascend@ubuntu:~$ cat /home/ascend/.pip/pip.conf 
      [global]
      timeout = 6000
      index-url = http://mirrors.aliyun.com/pypi/simple/
      trusted-host = mirrors.aliyun.com
      ascend@ubuntu:~$
      
  3. 安装相关apt依赖。
    普通用户下安装,这些是开发环境中套件包所依赖的一些apt软件,都需要成功安装。
    sudo apt-get install -y gcc make cmake unzip zlib1g zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev pciutils net-tools

  4. 安装python环境。
    执行以下命令,进入普通用户家目录。
    cd $HOME

    下载python3.7.5源码包并解压。
    wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
    tar -zxvf Python-3.7.5.tgz

    进入解压后的文件夹,执行配置、编译和安装命令。
    cd Python-3.7.5
    ./configure --prefix=/usr/local/python3.7.5 --enable-shared
    make -j8
    sudo make install

    执行以下命令将so拷贝到lib中,并设置软链接。
    sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib
    sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7
    sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7
    sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5
    sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5

    执行以下命令,安装环境所需的相关pip依赖。
    pip3.7.5 install attrs psutil decorator numpy protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests --user

安装toolkit开发工具包

如下图,下载开发环境所需要的toolkit包。
下载链接:https://www.huaweicloud.com/ascend/resource/Software
在这里插入图片描述

将包放置到开发环境普通用户的$HOME目录下。
并执行以下命令,切换到普通用户的$HOME目录下。
cd $HOME
ascend
执行以下命令,给run包增加可执行权限。
chmod 755 *.run

执行以下命令,安装toolkit包。
./Ascend-Toolkit-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --install

 

 

export install_path=/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux_gcc7.3.0

export PATH=/usr/local/python3.7.5/bin:${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:$PATH
export PYTHONPATH=${install_path}/atc/python/site-packages/te:${install_path}/atc/python/site-packages/topi:$PYTHONPATH
export LD_LIBRARY_PATH=${install_path}/atc/lib64:$LD_LIBRARY_PATH
export ASCEND_OPP_PATH=${install_path}/opp

转换:

atc --model=./0908.prototxt --weight=./0908.caffemodel --framework=0 --output=./0908-model --soc_version=Ascend310

没有关系的报错: Invalid argument: 'protocol'

ATC start working now, please wait for a moment.
[EVENT] GE(29634,atc):2020-09-07-23:08:50.427.950 [framework/domi/init/gelib.cc:55]29634 Initialize:[GEPERFTRACE] GE Init Start
[EVENT] GE(29634,atc):2020-09-07-23:08:50.430.254 [framework/domi/init/gelib.cc:92]29634 InnerInitialize:[GEPERFTRACE] The time cost of InnerInitialize::SystemInitialize is [353] micro second.
[EVENT] GE(29634,atc):2020-09-07-23:08:50.436.740 [framework/domi/init/gelib.cc:102]29634 InnerInitialize:[GEPERFTRACE] The time cost of InnerInitialize::EngineInitialize is [4255] micro second.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/forkserver.py", line 186, in main
    with socket.socket(socket.AF_UNIX, fileno=listener_fd) as listener, \
  File "/usr/local/python3.7.5/lib/python3.7/socket.py", line 151, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 22] Invalid argument: 'protocol'
Traceback (most recent call last):
  File "/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux_gcc7.3.0/atc/python/site-packages/te/te/platform/parallel_compilation.py", line 506, in init_multi_process_env
    return compiler.start()
  File "/usr/local/Ascend/ascend-toolkit/latest/x86_64-linux_gcc7.3.0/atc/python/site-packages/te/te/platform/parallel_compilation.py", line 290, in start
    worker.start()
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/process.py", line 112, in start
    self._popen = self._Popen(self)
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/context.py", line 291, in _Popen
    return Popen(process_obj)
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/popen_forkserver.py", line 35, in __init__
    super().__init__(process_obj)
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
    self._launch(process_obj)
  File "/usr/local/python3.7.5/lib/python3.7/multiprocessing/popen_forkserver.py", line 55, in _launch
    self.pid = for

华为升腾平台支持运行 YOLOv5 目标检测模型,以下是一个简单的 YOLOv5 案例代码示例: ```python import numpy as np from PIL import Image from atlasutil import ai from atlasutil import camera # 加载模型 model = ai.Model("yolov5s.om") # 打开摄像头 camera.open() while True: # 获取摄像头采集的图像 image = camera.capture() # 图像预处理 image = Image.fromarray(np.uint8(image)) image = image.resize((640, 640)) image_data = np.array(image) # 图像推理 output = model.infer([image_data]) # 解析推理结果 output = output[0] boxes, confidences, class_ids = output['boxes'], output['confidences'], output['class_ids'] # 在图像上绘制检测框 for i in range(len(boxes)): box = boxes[i] confidence = confidences[i] class_id = class_ids[i] if confidence > 0.5: x, y, w, h = box left, top, right, bottom = int(x - w / 2), int(y - h / 2), int(x + w / 2), int(y + h / 2) cv2.rectangle(image_data, (left, top), (right, bottom), (0, 255, 0), 2) cv2.putText(image_data, f"{class_id}", (left, top - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2) # 显示图像 cv2.imshow('Object Detection', image_data) if cv2.waitKey(1) & 0xFF == ord('q'): break # 关闭摄像头 camera.close() ``` 这段代码使用华为升腾平台的 YOLOv5 模型进行实时目标检测,并在图像上绘制检测框和类别标签。请确保已安装华为升腾平台的开发套件和相关依赖库,并参考华为开发者社区的文档进行模型部署和推理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值