安装调试kotti_ai:AI+互联网企业级部署应用软件包@riscv+OpenKylin

先上结论:riscv+OpenKylin可以安装pyramid+kotti+kotti_ai

但是paddle_serving_client无法安装,项目的AI实现部分需要改用其它方法,比如onnx。最终onnx也没有装成,只好用飞桨自己的推理。

安装kotti

pip install kotti

安装kotti和pyramid相关库

pip install kotti_image kotti_tinymce pyramid_debugtoolbar plone

安装kotti_ai

python 3 setup.py develop

最终bcrypt过不去,放弃image部分。最终发现没有bcrypt kotti都过不去。最后是通过apt安装bcrypt:apt install python3-bcrypt

尝试编译安装rust(失败)

先安装需要的包:

apt install curl
apt install ninja-build

git clone https://github.com/rust-lang/rust

 进入rust目录,然后编译,可以先提前设置环境变量:export MAX_JOBS=64

不过我感觉没有,还是16个编译线程,估计算能云就是给了16个?

cd rust
./configure
make -j 64 
make install 

估计需要4-5小时。而且自动识别了riscv!

[2172/2183] 304/335 结果到了最后报错,大约是需要llvm,但是安装llvm之后还是报错。

下载二进制文件安装rust

最终是下载编译好的软件包:Release Rust RISC-V Binaries · msizanoen1/rust-binaries · GitHub

 下载之后tar -zvf 解包,然后执行install.sh文件即可。

安装llvm

那就开装

git clone --depth 1 https://github.com/llvm/llvm-project llvm
cd llvm/llvm
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
# cmake --build . -j64
make -j64
make install 

最终放弃rust。

尝试编译安装bcrypt

官网文档:GitHub - pyca/bcrypt: Modern(-ish) password hashing for your software and your servers

Installation

To install bcrypt, simply:

$ pip install bcrypt

Note that bcrypt should build very easily on Linux provided you have a C compiler and a Rust compiler (the minimum supported Rust version is 1.56.0).

For Debian and Ubuntu, the following command will ensure that the required dependencies are installed:

$ sudo apt-get install build-essential cargo

下载源码:

git clone https://github.com/pyca/bcrypt

源码安装:python3 setup.py install 

结果需要rust,这里卡住过不去了。

rust无法装,所以bcypt无法装,kotti也就无法装.... 一度想放弃在riscv OpenKylin使用kotti和kotti_ai

尝试使用apt安装bcrypt

apt install python3-bcrypt

安装成功

运行飞桨例子

代码参见以102flowers数据集为例训练ResNet50模型_flowers102数据集-CSDN博客

报错,说是numpy那里有问题。

运行mnist的例子,可以过:飞桨AI框架安装和使用示例_飞浆 本地安装-CSDN博客

再次重新安装kotti和kotti_ai

安装kotti

pip install kotti过了。

安装  pip install  kotti_tinymce

安装sqlalchemy低版本:pip install sqlalchemy==1.4.42

安装:pip install kotti_image

安装pyramid 1.9(不是必须,安装pyramid1.10也行)

安装kotti_ai

pip install -e ".[testing]" 不行,说没安上,去dist 使用pip安装.egg文件,还是报错。

使用python setup.py develop 报错需要pyramid<2.0 ,但其实已经安装pyramid1.9或1.10了。

把这个目录删除/usr/lib/python3.8/site-packages/pyramid-2.0.2-py3.8.egg

python setup.py develop ok

不ok,要用这个方法安装:

 python3 setup.py develop  --user

怀疑是因为使用了root账户,python环境有点乱了。

最终这样就算把kotti_ai安装好了。当然会碰到paddle_serving_client报错,这个以后再说。

结论:

riscv+OpenKylin下成功安好了kotti+kotti_ai

我们就可以进行下一步AI开发工作了!

调试

安装kotti的时候提示:Failed to build bcrypt

Successfully built kotti js.bootstrap js.jquery js.jqueryui pyramid_deform zope.interface docopt filedepot html2text js.angular js.fineuploader js.html5shiv js.jquery_form js.jquery_tablednd js.jquery_timepicker_addon js.jqueryui_tagit pyramid_beaker pyramid_chameleon beaker js.jquery-maskedinput js.jquery-maskmoney js.jquery-sortable js.modernizr js.select2 js.tinymce zope.hookable zope.i18nmessageid
Failed to build bcrypt
ERROR: Could not build wheels for bcrypt, which is required to install pyproject.toml-based projects

按照提示安装bcrypt

安装bcrypt的时候报错:error: can't find Rust compiler

按照提示安装rust

安装rust报错:libbzip2

 Building HTSlib requires libbzip2 development files to be installed on the
      build machine; you may need to ensure a package such as libbz2-dev (on Debian
      or Ubuntu Linux) or bzip2-devel (on RPM-based Linux distributions or Cygwin)
      is installed.
      
      Either configure with --disable-bz2 (which will make some CRAM files
      produced elsewhere unreadable) or resolve this error to build HTSlib.
      config.mk:2: *** Resolve configure error first.  Stop.
      # pysam: htslib configure options: None

先不装rust bcrypt了。

编译安装rust报错:Couldn't find required command: ninja (or ninja-build)

You should install ninja as described at
<https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages>,
or set `ninja = false` in the `[llvm]` section of `config.toml`.
Alternatively, set `download-ci-llvm = true` in that `[llvm]` section
to download LLVM rather than building it.

安装ninja-build

apt install ninja-build

编译安装rust编译到100%报错:

64gc-unknown-linux-gnu/stage0-rustc/riscv64gc-unknown-linux-gnu/release/deps/librustc_driver-aba2a9eed125dd79.so" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-z,origin" "-Wl,-rpath,$ORIGIN/../lib"
  = note: /usr/bin/ld: cannot find -lWl,--push-state,--as-needed,-latomic,--pop-state: No such file or directory
          collect2: error: ld returned 1 exit status
          

error: could not compile `rustc_driver` (lib) due to 1 previous error
Build completed unsuccessfully in 0:00:20
make: *** [Makefile:19: all] Error 1

这里暂时过不去了。

最终从这里下载编译好的包。Release Rust RISC-V Binaries · msizanoen1/rust-binaries · GitHub

安装bcrypt报错:error: Rust 1.41.0-nightly does not match extension requirement >=1.63.0

二进制版本太低,需要1.63以上,再搞不定就真的不搞了。

好像这里真的搞不定了。

最后用apt install python3-bcrypt解决

运行飞桨例子报错

代码见这里:以102flowers数据集为例训练ResNet50模型_flowers102数据集-CSDN博客

 python3 flower102.py
Traceback (most recent call last):
  File "flower102.py", line 11, in <module>
    train_dataset = Flowers(mode='train', transform=transform)
  File "/usr/local/lib/python3.8/dist-packages/paddle/vision/datasets/flowers.py", line 166, in __init__
    scio = try_import('scipy.io')
  File "/usr/local/lib/python3.8/dist-packages/paddle/utils/lazy_import.py", line 32, in try_import
    mod = importlib.import_module(module_name)
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/scipy/io/__init__.py", line 97, in <module>
    from .matlab import loadmat, savemat, whosmat, byteordercodes
  File "/usr/lib/python3/dist-packages/scipy/io/matlab/__init__.py", line 13, in <module>
    from .mio import loadmat, savemat, whosmat
  File "/usr/lib/python3/dist-packages/scipy/io/matlab/mio.py", line 11, in <module>
    from .mio4 import MatFile4Reader, MatFile4Writer
  File "/usr/lib/python3/dist-packages/scipy/io/matlab/mio4.py", line 11, in <module>
    import scipy.sparse
  File "/usr/lib/python3/dist-packages/scipy/sparse/__init__.py", line 229, in <module>
    from .base import *
  File "/usr/lib/python3/dist-packages/scipy/sparse/base.py", line 8, in <module>
    from .sputils import (isdense, isscalarlike, isintlike,
  File "/usr/lib/python3/dist-packages/scipy/sparse/sputils.py", line 16, in <module>
    supported_dtypes = [np.typeDict[x] for x in supported_dtypes]
  File "/usr/lib/python3/dist-packages/scipy/sparse/sputils.py", line 16, in <listcomp>
    supported_dtypes = [np.typeDict[x] for x in supported_dtypes]
  File "/usr/local/lib/python3.8/dist-packages/numpy/__init__.py", line 320, in __getattr__
    raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'typeDict'

先不管这个了,至少mnist的例子可以过。

安装完kotti后报错 module 'sqlalchemy.ext.baked' has no attribute 'bake_lazy_loaders'

>>> import kotti
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/kotti/__init__.py", line 18, in <module>
    from kotti.sqla import Base as KottiBase
  File "/usr/local/lib/python3.8/dist-packages/kotti/sqla.py", line 17, in <module>
    baked.bake_lazy_loaders()
AttributeError: module 'sqlalchemy.ext.baked' has no attribute 'bake_lazy_loaders'

看sqlalchemy版本:pip show sqlalchemy

安装低版本: pip install sqlalchemy==1.4.42

好了,过了。

安装kotti_ai报错pyramid 2.0.2 is installed but pyramid<2,>=1.9 is required by {'Kotti'}

Installed /usr/lib/python3.8/site-packages/kotti_ai-0.0.2.dev0-py3.8.egg
Processing dependencies for kotti-ai==0.0.2.dev0
error: pyramid 2.0.2 is installed but pyramid<2,>=1.9 is required by {'Kotti'}

pip install pyramid==1.9解决,好吧,还是报这个错,就跟pyramid2已经深入骨子里一样。

在kotti_ai目录执行:

pip install -e ".[testing]"

总算把kotti_ai装上了。没装上,pserve development.ini 还是报错没有kotti_ai

最后是到/usr/lib/python3.8/site-packages/目录,把pyramid-2.0.2-py3.8.egg 目录删除,才搞定。

kotti_ai安装不上

python3 setup.py instlal 过,但是pserve development.ini 报错还是没有kotti_ai

pip show kotti_ai发现确实没有。

使用命令: python3 setup.py develop  --user

好像安装上了。

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

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

相关文章

postman测试文件上传接口

java里编写一个导入接口&#xff0c;接口的入参就是一个文件&#xff0c;此时接口中使用的接收参数是 用postman测试这个接口时&#xff1a;Body里选择类型是form-data Header中自动修改了Content-Type 如果既要上传文件&#xff0c;又要输入参数可使用如下方式&#xff1a; 此…

训练svm并部署树莓派

训练svm并部署树莓派 开发环境1. 准备数据集2. 训练模型3. 部署模型开发环境 vscode python 3.8 用到的库: scikit-learn==1.3.2 pickle torch pandas matplotlib 1. 准备数据集 数据为xls文件,如下格式 2. 训练模型 文件结构 执行训练 python代码 import pickle &…

递归和递推的区别

目录 1、递推 2、递归 3、结言 递归 递推 1、递推 递推就是说从初值出发后一直运算到所需的结果。 ——从已知到未知。&#xff08;从小到大&#xff09; 举一个简单的例子&#xff1a; 每天能学习一个小时的编程&#xff0c;那么一个月之后可以学到三十小时的编程知识。…

vue项目突然报错 error Insert `⏎·········` prettier/prettier

vs设置了保存时自动格式化代码&#xff0c;突然就报错&#xff1a; 解决方法&#xff0c;在.eslintrc.js最后添加一行&#xff1a;prettier/prettier: off&#xff0c; 然后重新运行

C#多态性

文章目录 C#多态性静态多态性函数重载函数重载 动态多态性运行结果 C#多态性 静态多态性 在编译时&#xff0c;函数和对象的连接机制被称为早期绑定&#xff0c;也被称为静态绑定。C# 提供了两种技术来实现静态多态性。分别为&#xff1a; 函数重载 运算符重载 运算符重载将…

UnityShader(十九) AlphaBlend

上代码&#xff1a; Shader "Shader入门/透明度效果/AlphaBlendShader" {Properties{_MainTex ("Texture", 2D) "white" {}_AlphaScale("AlphaScale",Range(0,1))1.0}SubShader{Tags { "RenderType""Transparent&quo…

视频转音频怎么转? 5个详细的方法~

将视频中的音频提取为音频文件&#xff0c;不仅可以帮助我们在学习和教育环境中使用&#xff0c;例如在听力练习、语言学习或课堂教学中&#xff0c;还可以帮助我们创建音频片段、音乐或声音效果。下面就向大家从5个不同的角度&#xff1a;软件、在线网站、视频剪辑工具、命令工…

【深度学习基础知识】IOU、GIOU、DIOU、CIOU

这里简单记录下IOU及其衍生公式。   为了拉通IOU及其衍生版的公式对比&#xff0c;以及方便记忆&#xff0c;这里用一个统一的图示来表示出所有的参数 【&#xff21;】目标框的区域【&#xff22;】预测框的区域【&#xff23;】&#xff21;与&#xff22;的交集【&#xff…

docker安装Milvus

docker安装Milvus 拉去CPU版本的milvus镜像 $ sudo docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 docker pull milvusdb/milvus:0.10.0-cpu-d061620-5f3c00 mkdir -p milvus/conf cd milvus/conf ls wget https://raw.githubusercontent.com/milvus-io/milvus/v0.1…

springboot项目yml文件中${}的使用

作用 项目启动时可以灵活的通过修改环境变量来替换配置中的值&#xff0c;如果没有传该环境变量时&#xff0c;就是用默认值&#xff1b; 格式&#xff1a;${自定义参数名:默认值} 代码举例&#xff0c;已开启应用的端口号为例&#xff1a; server: port: ${SERVER_PORT:9…

PC1000A双通道高精度线性恒流LED控制芯片,只需极少极少外围元件

概述 PCD1000A 是一款线性恒流 IC&#xff0c;输出电流可调&#xff0c;恒流精度高&#xff0c;应用方案简单&#xff0c;成本和阻容降压相当&#xff0c;具有过温保护功能&#xff0c;更安全&#xff0c;更可靠。 特点 输出电流可调 5mA-60mA&#xff0c; 恒 流精度可以达…

【Python爬虫】网络爬虫:信息获取与合规应用

这里写目录标题 前言网络爬虫的工作原理网络爬虫的应用领域网络爬虫的技术挑战网络爬虫的伦理问题结语福利 前言 网络爬虫&#xff0c;又称网络爬虫、网络蜘蛛、网络机器人等&#xff0c;是一种按照一定的规则自动地获取万维网信息的程序或者脚本。它可以根据一定的策略自动地浏…

OpenLayers基础教程——使用WebGL加载海量数据(1)

1、前言 最近遇到一个问题&#xff1a;如何在OpenLayers中高效加载海量的场强点&#xff1f;由于项目中的一些要求&#xff0c;不能使用聚合的方法加载。一番搜索之后发现&#xff1a;OpenLayers中有一个WebGLPoints类&#xff0c;使用该类可以轻松应对几十万的数据量&#xf…

【链表】Leetcode 25. K 个一组翻转链表【困难】

K 个一组翻转链表 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改…

【python_往企业微信群中发送文件】

python_往企业微信群中发送文件 这个是用企业微信群机器人的功能&#xff0c;没有用到后台应用。群机器人 #-*- coding:utf-8-* import requests#类型&#xff1a;voice,file file_type"file" file_path"D:\desktop\不过.jpg" webhookkey"xxxx"#…

Mysql与MyBatis

1 Sql语句 增删改查 1.1 建表 -- cmd展示数据库 show databases ; -- cmd登录数据库 mysql localhost -u root -p-- auto_increment 自动增长&#xff0c;每添加一个表项id自动增1 -- char定长字符串 0-255&#xff0c;不足十个字符按十个字符算&#xff0c; varchar变长字符串…

【机器学习】基于蝴蝶算法优化的BP神经网络分类预测(BOA-BP)

目录 1.原理与思路2.设计与实现3.结果预测4.代码获取 1.原理与思路 【智能算法应用】智能算法优化BP神经网络思路【智能算法】蝴蝶优化算法&#xff08;BOA)原理及实现 2.设计与实现 数据集&#xff1a; 数据集样本总数2000 多输入多输出&#xff1a;样本特征24&#xff0c…

绝地求生:今天来聊聊PUBG外挂

最近关于外挂和封禁的贴子一下子多了起来&#xff0c;也看到了很多不一样的说法和观点&#xff0c;也有一些常识性的问题被反复提及。作为一个刚刚及格的计算机专业同学&#xff0c;闲游盒尝试用大白话的方式&#xff0c;和大家分享下就以下问题我的观点&#xff1a; 1. 外挂是…

五、初识Django

初识Django 1.安装django2.创建项目2.1第一种方式&#xff1a;在终端2.2第二种方式&#xff1a;Pycharm 3.创建app4.快速上手4.1再写一个页面4.2templates模板4.3静态文件4.3.1static目录4.3.2引用静态文件 5.模板语法案例&#xff1a;伪联通新闻中心6.请求和相应案例&#xff…

ExoPlayer架构详解与源码分析(11)——DataSource

系列文章目录 ExoPlayer架构详解与源码分析&#xff08;1&#xff09;——前言 ExoPlayer架构详解与源码分析&#xff08;2&#xff09;——Player ExoPlayer架构详解与源码分析&#xff08;3&#xff09;——Timeline ExoPlayer架构详解与源码分析&#xff08;4&#xff09;—…