RK3588部署ppocr流程及安装环境_笔记1

前言:

RK3588部署ppocr流程及ubuntu安装环境

目录

一、NoMachine安装使用

二、把ubuntu系统从英文修改为中文界面

三、安装conda

没有报错说明没有问题,如果source的时候报错,查看

​编辑

报这种错:

5、需要添加国内镜像源

6、接着创建一个rknn环境

四、opencv的安装

五、在板子上完成fastdeploy环境搭建

1、## 编译FastDeploy Python SDK

2、# PP-OCRv3 RKNPU2 Python部署示例

3.运行部署示例

# CPU推理

# NPU推理

一、### 板端编译FastDeploy C++ SDK

1.(我个人用RK3588(ubuntu22.04跑通编译FastDeploy C++ SDK)

2.(我个人用RK3588(ubuntu20.04跑通编译FastDeploy python SDK;也就是上面的)

1、下载FastDeploy

git clone https://github.com/PaddlePaddle/FastDeploy.git

2、创建build

3、# 永久配置

4、## C++运行部署示例

5、# 使用编译完成的FastDeploy库编译infer_demo

6、# 下载图片和字典文件

7、# 拷贝RKNN模型到build目录


pycharm                  ​​​​​​​pycharm官网下载地址

一、NoMachine安装使用

链接:NoMachine安装使用_rk3588 nomachine-CSDN博客

二、把ubuntu系统从英文修改为中文界面

1、打开系统设置,英文为“system setting”,齿轮一样的图标,有的版本安装完之后在任务栏上有,没有的话点右上角齿轮里面有。如下图所示

2、2、进去后打开“language support”(ubuntu20),Ubuntu18里面叫“Region & Language”

汉语放到最上,点击Apply System-Wide退出;重启系统即可

显示出来保留旧的名称即可

三、安装conda

        conda官网下载

1、首先下载Anaconda3-2022.10-Linux-aarch64.sh,链接:https://pan.baidu.com/s/10oXSAaleAEoe6KaJ3IQyaw ,提取码:mtag 。

下载后放入到自己的home文件夹下面,然后在该文件夹下运行

bash Anaconda3-2022.10-Linux-aarch64.sh


根据提示按enter键或者输入yes后按enter键,直到运行完成即可。

orangepi@orangepi5pro:~/anzhuang$ sudo gedit ~/.bashrc
[sudo] orangepi 的密码: 
sudo: gedit:找不到命令
解决:

sudo apt-get update
sudo apt-get install gedit

2、最后在终端输入:

sudo gedit ~/.bashrc

3、运行完成后,打开home文件夹下的.bashrc文件,在该文件末尾手动输入

export PATH="/home/orangepi/anaconda3/bin:$PATH"
source activate base


下面一行表示每次打开系统后环境自动切换到base环境,如果不需要,可以把第二行去掉,然后每次进入系统后终端输入

source activate base
4、文件修改后

source ~/.bashrc
没有报错说明没有问题,如果source的时候报错,查看

export PATH="/home/orangepi/anaconda3/bin:$PATH"中bin目录是否有问题

报这种错:

If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.

'https//repo.anaconda.com/pkgs/main/noarch'

5、需要添加国内镜像源

安装配置anaconda
anaconda添加国内镜像源

#换镜像源

gedit ~/.condarc

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - defaults
6、接着创建一个rknn环境
conda create -n rknn python==3.9 -y
conda activate rknn

四、opencv的安装

1、下载安装包
下载地址:https://opencv.org/releases/

        opencv官网下载

下载合适的我的下载3.4.15版本的sources

解压缩包

unzip opencv-3.4.15


3、使用 cmake 安装 opencv

首先进入解压后的文件夹:opencv-3.4.15

cd opencv-3.4.15


进入 root 用户,并更新一下

sudo su
sudo apt-get update


执行这条命令安装 cmake

sudo apt-get install cmake


复制下面这条命令,安装依赖库

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev 


创建经入 build 文件夹

mkdir build
cd build


使用 cmake 编译参数,或者使用第二条默认参数,都可以

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

cmake ..


4、使用 make 创建编译

sudo make -j8

5、安装

sudo make install


6、配置环境

sudo gedit /etc/ld.so.conf.d/opencv.conf


填入

/usr/local/lib

保存退出

7、更新系统共享链接库

sudo ldconfig


8、配置 bash ,修改 bash.bashrc 文件

sudo gedit /etc/bash.bashrc


在最后换行填入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

保存退出,然后执行如下命令使得配置生效

source /etc/bash.bashrc


9、测试opencv版本号
 

pkg-config --modversion opencv4


更新一下

sudo updatedb

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple


编译好之后生成可执行文件 opencv, 直接 ./opencv 就能显示图片。

五、在板子上完成fastdeploy环境搭建

FastDeploy库的编译(在rk3588板子上进行)
rk3588性能强劲,可以直接在板子上借助图形界面编译FastDeploy库

使用git clone https://github.com/PaddlePaddle/FastDeploy.git指令拉取代码

官网fastdeploy官网

放到你的工作目录下执行:

unzip FastDeploy-develop.zip

cd FastDeploy

接下来有两种编译方式python和C++

1、## 编译FastDeploy Python SDK

cd python

export ENABLE_ORT_BACKEND=ON
export ENABLE_RKNPU2_BACKEND=ON
export ENABLE_VISION=ON

# 请根据你的开发版的不同,选择RK3588和RK356X

export RKNN2_TARGET_SOC=RK3588

# 如果你的核心板的运行内存大于等于8G,我们建议您执行以下命令进行编译。

python3 setup.py build


# 值得注意的是,如果你的核心板的运行内存小于8G,我们建议您执行以下命令进行编译。
python3 setup.py build -j1

python3 setup.py bdist_wheel

cd dist
pip3 install fastdeploy_python-0.0.0-cp39-cp39-linux_aarch64.whl

2、# PP-OCRv3 RKNPU2 Python部署示例


本目录下提供`infer.py`, 供用户完成PP-OCRv3在RKNPU2的部署.


## 1. 部署环境准备
在部署前,需确认以下两个步骤
- 1. 在部署前,需自行编译基于RKNPU2的Python预测库,参考文档[RKNPU2部署环境编译](https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install#自行编译安装)
- 2. 同时请用户参考[FastDeploy RKNPU2资源导航](https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install/rknpu2.md)

## 2.部署模型准备
在部署前, 请准备好您所需要运行的推理模型, 您可以在[FastDeploy支持的PaddleOCR模型列表](../README.md)中下载所需模型.
同时, 在RKNPU2上部署PP-OCR系列模型时,我们需要把Paddle的推理模型转为RKNN模型.
由于rknn_toolkit2工具暂不支持直接从Paddle直接转换为RKNN模型,因此我们需要先将Paddle推理模型转为ONNX模型, 最后转为RKNN模型, 示例如下.

```bash
# 下载PP-OCRv3文字检测模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar
tar -xvf ch_PP-OCRv3_det_infer.tar
# 下载文字方向分类器模型
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar
tar -xvf ch_ppocr_mobile_v2.0_cls_infer.tar
# 下载PP-OCRv3文字识别模型
wget https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar
tar -xvf ch_PP-OCRv3_rec_infer.tar

# 请用户自行安装最新发布版本的paddle2onnx, 转换模型到ONNX格式的模型
paddle2onnx --model_dir ch_PP-OCRv3_det_infer \
            --model_filename inference.pdmodel \
            --params_filename inference.pdiparams \
            --save_file ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer.onnx \
            --enable_dev_version True
paddle2onnx --model_dir ch_ppocr_mobile_v2.0_cls_infer \
            --model_filename inference.pdmodel \
            --params_filename inference.pdiparams \
            --save_file ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v2.0_cls_infer.onnx \
            --enable_dev_version True
paddle2onnx --model_dir ch_PP-OCRv3_rec_infer \
            --model_filename inference.pdmodel \
            --params_filename inference.pdiparams \
            --save_file ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer.onnx \
            --enable_dev_version True

# 固定模型的输入shape
python -m paddle2onnx.optimize --input_model ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer.onnx \
                               --output_model ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer.onnx \
                               --input_shape_dict "{'x':[1,3,960,960]}"
python -m paddle2onnx.optimize --input_model ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v2.0_cls_infer.onnx \
                               --output_model ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v2.0_cls_infer.onnx \
                               --input_shape_dict "{'x':[1,3,48,192]}"
python -m paddle2onnx.optimize --input_model ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer.onnx \
                               --output_model ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer.onnx \
                               --input_shape_dict "{'x':[1,3,48,320]}"

# 在rockchip/rknpu2_tools/目录下, 我们为用户提供了转换ONNX模型到RKNN模型的工具
python rockchip/rknpu2_tools/export.py --config_path tools/rknpu2/config/ppocrv3_det.yaml \
                              --target_platform rk3588
python rockchip/rknpu2_tools/export.py --config_path tools/rknpu2/config/ppocrv3_rec.yaml \
                              --target_platform rk3588
python rockchip/rknpu2_tools/export.py --config_path tools/rknpu2/config/ppocrv3_cls.yaml \
                              --target_platform rk3588
```


3.运行部署示例


在本目录执行如下命令即可完成编译测试,支持此模型需保证FastDeploy版本1.0.3以上(x.x.x>1.0.3), RKNN版本在1.4.1b22以上。

```

cd PaddleOCR/deploy/fastdeploy/rockchip/python
# 下载图片和字典文件

cd /home/orangepi/work_11.9/FastDeploy/examples/vision/ocr/PP-OCR/rockchip/python

wget https://gitee.com/paddlepaddle/PaddleOCR/raw/release/2.6/doc/imgs/12.jpg
wget https://gitee.com/paddlepaddle/PaddleOCR/raw/release/2.6/ppocr/utils/ppocr_keys_v1.txt

# 下载部署示例代码
# 下载部署示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd  FastDeploy/examples/vision/ocr/PP-OCR/rockchip/python

# 如果希望从PaddleOCR下载示例代码,请运行
git clone https://github.com/PaddlePaddle/PaddleOCR.git
# 注意:如果当前分支找不到下面的fastdeploy测试代码,请切换到dygraph分支
git checkout dygraph
cd PaddleOCR/deploy/fastdeploy/rockchip/python


# CPU推理
python3 infer.py \
                --det_model ./ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer.onnx \
                --cls_model ./ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v2.0_cls_infer.onnx \
                --rec_model ./ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer.onnx \
                --rec_label_file ./ppocr_keys_v1.txt \
                --image 12.jpg \
                --device cpu
# NPU推理
python3 infer.py \
                --det_model ./ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer_rk3588_unquantized.rknn \
                --cls_model ./ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v20_cls_infer_rk3588_unquantized.rknn \
                --rec_model ./ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer_rk3588_unquantized.rknn \
                --rec_label_file ppocr_keys_v1.txt \
                --image 12.jpg \
                --device npu

报错:
  File "/home/orangepi/anaconda3/envs/rknn/lib/python3.9/site-packages/fastdeploy/vision/ocr/ppocr/utils/ser_vi_layoutxlm/transforms.py", line 2, in <module>
    from .operators import *
  File "/home/orangepi/anaconda3/envs/rknn/lib/python3.9/site-packages/fastdeploy/vision/ocr/ppocr/utils/ser_vi_layoutxlm/operators.py", line 6, in <module>
    import cv2
解决方法:

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

****************************************************************************************

接下来用

一、### 板端编译FastDeploy C++ SDK

对于内存比较充足且编译工具链完整的开发版,我们推荐直接在板端执行编译。
以下教程在RK356X(debian10),RK3588(debian 11) 环境下测试通过。

1.(我个人用RK3588(ubuntu22.04跑通编译FastDeploy C++ SDK)
2.(我个人用RK3588(ubuntu20.04跑通编译FastDeploy python SDK;也就是上面的)

你可以通过修改以下参数来实现自定义你的FastDeploy工具包。

| 选项                      | 说明                                                                        |

| ENABLE_ORT_BACKEND      | 默认OFF, 是否编译集成ONNX Runtime后端(CPU/GPU上推荐打开)                                 |
| ENABLE_LITE_BACKEND     | 默认OFF,是否编译集成Paddle Lite后端(编译Android库时需要设置为ON)                             |
| ENABLE_RKNPU2_BACKEND   | 默认OFF,是否编译集成RKNPU2后端(RK3588/RK3568/RK3566上推荐打开)                           |
| ENABLE_VISION           | 默认OFF,是否编译集成视觉模型的部署模块                                                     |
| RKNN2_TARGET_SOC        | ENABLE_RKNPU2_BACKEND时才需要使用这个编译选项。无默认值, 可输入值为RK3588/RK356X, 必须填入,否则 将编译失败 |
| ORT_DIRECTORY           | 当开启ONNX Runtime后端时,用于指定用户本地的ONNX Runtime库路径;如果不指定,编译过程会自动下载ONNX Runtime库  |
| OPENCV_DIRECTORY        | 当ENABLE_VISION=ON时,用于指定用户本地的OpenCV库路径;如果不指定,编译过程会自动下载OpenCV库              |

```bash


1、下载FastDeploy
git clone https://github.com/PaddlePaddle/FastDeploy.git


cd FastDeploy

# 如果您使用的是develop分支输入以下命令
git checkout develop

2、创建build
mkdir build && cd build

cmake ..  -DENABLE_ORT_BACKEND=OFF \
          -DENABLE_RKNPU2_BACKEND=ON \
          -DENABLE_VISION=ON \
          -DRKNN2_TARGET_SOC=RK3588 \
          -DCMAKE_INSTALL_PREFIX=${PWD}/fastdeploy-0.0.0

# build if soc is RK3588

make -j8


# build if soc is RK356X
make -j4

make install

### 配置环境变量

为了方便大家配置环境变量,FastDeploy提供了一键配置环境变量的脚本,在运行程序前,你需要执行以下命令

```bash
# 临时配置
source PathToFastDeploySDK/fastdeploy_init.sh

3、# 永久配置
source PathToFastDeploySDK/fastdeploy_init.sh

sudo cp PathToFastDeploySDK/fastdeploy_libs.conf /etc/ld.so.conf.d/

sudo ldconfig

4、## C++运行部署示例


在本目录执行如下命令即可完成编译测试,支持此模型需保证FastDeploy版本1.0.3以上(x.x.x>1.0.3), RKNN版本在1.4.1b22以上。

```
# 下载部署示例代码
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd  FastDeploy/examples/vision/ocr/PP-OCR/rockchip/cpp

mkdir build
cd build

5、# 使用编译完成的FastDeploy库编译infer_demo

cmake .. -DFASTDEPLOY_INSTALL_DIR=${PWD}/fastdeploy-rockchip

make -j
6、# 下载图片和字典文件
wget https://gitee.com/paddlepaddle/PaddleOCR/raw/release/2.6/doc/imgs/12.jpg
wget https://gitee.com/paddlepaddle/PaddleOCR/raw/release/2.6/ppocr/utils/ppocr_keys_v1.txt
7、# 拷贝RKNN模型到build目录

# CPU推理

./infer_demo ./ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer.onnx \
                          ./ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v2.0_cls_infer.onnx \
                          ./ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer.onnx \
                          ./ppocr_keys_v1.txt \
                          ./12.jpg \
                          0


# RKNPU推理

./infer_demo ./ch_PP-OCRv3_det_infer/ch_PP-OCRv3_det_infer_rk3588_unquantized.rknn \
                            ./ch_ppocr_mobile_v2.0_cls_infer/ch_ppocr_mobile_v20_cls_infer_rk3588_unquantized.rknn \
                             ./ch_PP-OCRv3_rec_infer/ch_PP-OCRv3_rec_infer_rk3588_unquantized.rknn \
                              ./ppocr_keys_v1.txt \
                              ./12.jpg \

参考:13.rk3588搭建rknn环境_rk3588安装rknn-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二分查找习题篇(下)

二分查找习题篇(下) 1.山脉数组的峰顶索引 题目描述&#xff1a; 给定一个长度为 n 的整数 山脉 数组 arr &#xff0c;其中的值递增到一个 峰值元素 然后递减。 返回峰值元素的下标。 你必须设计并实现时间复杂度为 O(log(n)) 的解决方案。 示例 1&#xff1a; 输入&#xf…

Linux学习笔记之shell快速入门及相关变量

Shell是什么 Shell是一个命令解释器&#xff0c;它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序&#xff0c;用户可以通过Shell来启动、挂起甚至编写一些程序。 Shell脚本执行方式 脚本格式要求 脚本以#!/bin/bash开头脚本需要有可执行权限 脚本的常…

el-table 行列文字悬浮超出屏幕宽度不换行的问题

修改前的效果 修改后的效果 ui框架 element-plus 在网上找了很多例子都没找到合适的 然后这个东西鼠标挪走就不显示 控制台也不好调试 看了一下El-table的源码 他这个悬浮文字用的el-prpper 包着的 所以直接改 .el-table .el-propper 设置为max-width:1000px 就可以了 吐槽一…

ApiSmart x Qwen2.5-Coder 开源旗舰编程模型媲美 GPT-4o, ApiSmart 实测!

通义千问代码模型开源版。Qwen2.5-Coder相比CodeQwen1.5有了实质性的改进。Qwen2.5-Coder在包含5.5万亿Token的编程相关数据上进行了训练&#xff0c;使即使较小的编程专用模型也能在编程评估基准测试中表现出媲美大型语言模型的竞争力。 阿里云-2024年11月12日 Qwen2.5-Coder …

Java项目实战II基于微信小程序的个人行政复议在线预约系统微信小程序(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 基于微信小…

MyBatis xml 文件中 SQL 语句的小于号未转义导致报错

问题现象 在 MyBatis 的 xml 文件中添加了一个 SQL 语句 <select id"countXxx" resultType"int">select count(*) from t1 where count < 3 </select>启动 Spring Boot 应用程序后报错&#xff1a; Caused by: org.apache.ibatis.builde…

C++20 STL CookBook 7 Containers(II)

让vector在插入删除的时候仍然保证是有序的 首先&#xff0c;STL的确提供了一种办法来检查我们的目标容器是不是有序的&#xff1a;std::is_sorted - cppreference.com&#xff0c;也就是std::is_sorted。我们当然可以这样做&#xff1a; #include <iostream> #include…

FlinkSql读取kafka数据流的方法(scala)

我的scala版本为2.12 <scala.binary.version>2.12</scala.binary.version> 我的Flink版本为1.13.6 <flink.version>1.13.6</flink.version> FlinkSql读取kafka数据流需要如下依赖&#xff1a; <dependency><groupId>org.apache.flink&…

语音 AI 革命:未来,消费者更可能倾向于与 AI 沟通,而非人工客服

「未来&#xff0c;消费者更可能倾向于与 AI 沟通&#xff0c;而非人工客服&#xff0c;因为这将成为解决问题的最高效途径。」 这篇来自 Bessemer Venture Partners 的报告&#xff0c;是目前为止对语音 AI 在企业应用上最完整清晰的一次梳理。 核心要点&#xff1a; 尽管市…

【t365】基于springboot的高校疫情防控系统

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#x…

DAY27|贪心算法Part01|LeetCode:455.分发饼干、376. 摆动序列、53. 最大子序和

贪心算法 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 贪心算法并没有固定的套路&#xff0c;最难想的就在于如何通过局部最优去推出全局最优。在做一个题目的时候&#xff0c;靠自己手动模拟&#xff0c;如果模拟可行&#xff0c;就可以试一试贪心策略…

四万字长文SpringBoot、Spring、SpringMVC等相关面试题(注:该篇博客将会持续维护 最新维护时间:2024年11月12日)

&#x1f9f8;本篇博客重在讲解SpringBoot、Spring、SpringMVC等相关面试题&#xff0c;将会实时更新&#xff0c;欢迎大家添加作者文末联系方式交流 &#x1f4dc;JAVA面试题专栏&#xff1a;JAVA崭新面试题——2024版_dream_ready的博客-CSDN博客 &#x1f4dc;作者首页&…

免费HTML模板和CSS样式网站汇总

HTML模板&#xff1a;&#xff08;注意版权&#xff0c;部分不可商用&#xff09; 1、Tooplate&#xff0c;免费HTML模板下载 Download 60 Free HTML Templates for your websitesDownload 60 free HTML website templates or responsive Bootstrap templates instantly from T…

深入理解接口测试:实用指南与最佳实践5.0(二)

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

SpringBoot技术:共享汽车行业的新动力

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足&#xff0c;创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系…

Java Review - 线程池原理源码解析

文章目录 Pre为什么要用线程池线程池的优点&#xff08;1&#xff09;重复利用线程&#xff08;2&#xff09;控制线程的数量 线程池实现原理线程池ThreadPoolExecutor类关系线程池的工作流程任务队列空闲线程的存活时间参数ThreadFactory拒绝策略被拒绝后的任务如何再次执行 向…

昇思大模型平台打卡体验活动:项目4基于MindSpore实现Roberta模型Prompt Tuning

基于MindNLP的Roberta模型Prompt Tuning 本文档介绍了如何基于MindNLP进行Roberta模型的Prompt Tuning&#xff0c;主要用于GLUE基准数据集的微调。本文提供了完整的代码示例以及详细的步骤说明&#xff0c;便于理解和复现实验。 环境配置 在运行此代码前&#xff0c;请确保…

【MySQL】数据库表连接简明解释

未经许可,不得转载。 文章目录 表连接表连接的类型内连接与外连接结合 WHERE 条件交叉连接(cross join)表连接 在关系型数据库中,建模是数据组织的核心难点。数据库建模需要将数据关系理清,构建出适合存储和查询的结构。 所谓“模型”包括实体(entity) 和关系(relati…

离线安装GDAL与MapServer:在银河麒麟V10上的快速指南

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 ✨特色专栏&#xff1a…

17.UE5丰富怪物、结构体、数据表、构造函数

2-19 丰富怪物&#xff0c;结构体、数据表格、构造函数_哔哩哔哩_bilibili 目录 1.结构体和数据表格 2.在构造函数中初始化怪物 3.实现怪物是否游荡 1.结构体和数据表格 创建蓝图&#xff1a;结构体蓝图 在结构体蓝图中添加变量&#xff0c;如下所示&#xff0c;为了实现不…