当前位置: 首页 > news >正文

RK3588使用笔记:系统算法依赖库安装

一、前言

嵌入式设备随着需求的提升,不再仅仅只只运行个单机程序那么简单了,社会发展设备升级,都会逐步引用人工智能,涉及到算法模型,这里基础的部分就是算法环境的安装,有的算法是C++,大部分算法是python环境下,本文核心就是安装匹配python算法模型需求的各种环境

目录

一、前言

二、环境

三、正文

1.安装python及相关依赖库

2.常用python工具包pip在线安装命令

3.算法模型运行测试

四、结语


二、环境

RK3588(linux5.10.66+debian/ubuntu/麒麟是桌面文件系统)

调试笔记本window10,安装常用工具winscp,xshell,finalshell,secureRTP等等

VMware17+Ubuntu20.04源码开发环境(这里就依赖于各个硬件平台的厂家提供资料了)

三、正文

首先列出我已经安装好的模型列表requirements.txt

absl-py==2.2.1
astunparse==1.6.3
async-timeout==5.0.1
blinker==1.4
cachetools==5.5.2
certifi==2025.1.31
chardet==3.0.4
charset-normalizer==3.4.1
contourpy==1.1.1
cryptography==2.8
cupshelpers==1.0
cycler==0.12.1
dbus-python==1.2.16
defer==1.0.6
distro==1.4.0
distro-info===0.23kylin1
dnspython==1.16.0
entrypoints==0.3
flatbuffers==25.2.10
fonttools==4.55.3
gast==0.4.0
google-auth==2.38.0
google-auth-oauthlib==0.4.6
google-pasta==0.2.0
greenlet==3.1.1
grpcio==1.70.0
h5py==3.11.0
httplib2==0.14.0
idna==3.10
importlib_metadata==8.5.0
importlib_resources==6.4.5
joblib==1.4.2
keras==2.10.0
Keras-Preprocessing==1.1.2
keyring==18.0.1
kiwisolver==1.4.7
language-selector==0.1
launchpadlib==1.10.13
lazr.restfulclient==0.14.2
lazr.uri==1.0.3
libclang==18.1.1
Markdown==3.7
MarkupSafe==2.1.5
matplotlib==3.7.5
numpy==1.24.4
oauthlib==3.2.2
onboard==1.4.1
opt_einsum==3.4.0
packaging==24.2
pandas==1.2.0
pillow==10.4.0
protobuf==3.19.6
pyasn1==0.6.1
pyasn1_modules==0.4.2
pycairo==1.16.2
pycrypto==2.6.1
pycups==1.9.73
PyGObject==3.36.0
PyJWT==1.7.1
pyparsing==3.1.4
pysmbc==1.0.15.6
python-apt===2.0.0kylin2
python-dateutil==2.9.0.post0
python-debian===0.1.36kylin1
pytz==2025.2
pyxdg==0.26
PyYAML==5.3.1
redis==5.2.1
requests==2.32.3
requests-oauthlib==2.0.0
requests-unixsocket==0.2.0
rsa==4.9
scikit-learn==1.3.2
scipy==1.10.1
seaborn==0.9.0
SecretStorage==2.3.1
simplejson==3.16.0
six==1.17.0
some-package==0.1
tensorboard==2.10.1
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
tensorflow==2.10.0
tensorflow-cpu-aws==2.10.0
tensorflow-estimator==2.10.0
tensorflow-io-gcs-filesystem==0.35.0
termcolor==2.4.0
threadpoolctl==3.5.0
typing_extensions==4.13.0
tzdata==2024.2
ubuntu-drivers-common==0.0.0
urllib3==2.2.3
wadllib==1.3.3
Werkzeug==3.0.6
wrapt==1.17.2
xkit==0.0.0
zipp==3.20.2
1.安装python及相关依赖库

目前银河麒麟系统自带python3.8.10,无需升级,暂时使用此版本,也可以手动安装一个新的版本python,前提是有网,离线安装很困难。

但此本版没有依赖库,需要安装pip包管理工具,安装方法如下:

安装pip

1.联网,首先验证网络能够正常连接sudo apt-get update,安装python3.8基础依赖

sudo apt-get install python3.8-distutils python3.8-dev

2.麒麟系统默认已经安装了python3.8.10但是没有其他的依赖库,需要安装pip做为开始

3.查看可以安装的pip版本apt-cache madison python3-pip可能支持的版本很低,没关系先安装在升级

4.在线命令更新sudo apt-get install python3-pip安装的版本可能比较低,或者比较高不是需要的指定版本

5.升级pip命令安装指定版本

python3.8 -m pip install --upgrade pip==24.2 -i https://mirrors.aliyun.com/pypi/simple/

6.验证pip安装情况

pip list

python3.8 -m pip --version

pip -V

7.永久配置镜像源

mkdir -p ~/.pip

echo -e "[global]\nindex-url = https://mirrors.aliyun.com/pypi/simple/\ntrusted-host = mirrors.aliyun.com" > ~/.pip/pip.conf

查看pip是否换源成功

cat ~/.pip/pip.conf

卸载pip

#卸载系统 apt 安装的

sudo apt-get remove python3-pip

sudo apt-get autoremove

#卸载用户级安装的

python3.8 -m pip uninstall pip setuptools

#删除所有残留的可执行文件

rm -f /usr/local/bin/pip* /usr/bin/pip* ~/.local/bin/pip*

#删除配置和缓存

rm -rf ~/.pip ~/.cache/pip

卸载python

sudo apt-get remove python3

sudo apt-get autoremove

sudo apt-get remove python3.8

sudo apt-get autoremove

sudo apt-get remove python3.9

sudo apt-get autoremove

其中,比较常用的国内镜像还包括:

1. 阿里云源

pip install -i https://mirrors.aliyun.com/pypi/simple/ [package_name]

2. 豆瓣源

pip install -i https://pypi.doubanio.com/simple/ [package_name]

3. 清华大学源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ [package_name]

4. 华为云源

pip install -i https://mirrors.huaweicloud.com/repository/pypi/simple/ [package_name]

5. 中国科技大学源

pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ [package_name]

这些源都是基于国内的镜像站点提供的,使用这些源可以加快包的下载速度并解决连接问题。你可以根据自己的网络环境选择其中一个源,并将其作为 -i 参数传递给 pip 命令来使用。

2.常用python工具包pip在线安装命令

参照上个文档我们已经安装好了指定版本的python和pip,接下来就是按照指定版本安装相关依赖环境了,所示参照windows开发好的模型去匹配环境,一定要先确保python和pip版本一致,之后在逐步安装其他依赖环境

指定版本:

pip install numpy=1.19.1

pip --default-timeout=100 install numpy=1.19.1(防超时,设置超时时间

pip install -i Simple Index numpy=1.19.1(使用指定源,更快,前面已经换过pip源这里就不用加了)

指定版本不行就添加 --no-binary 参数,避免二进制兼容问题

pip install numpy=1.19.1 --no-binary

在不行就去掉版本安装最新版本:

pip install numpy

升级numpy:

pip install --upgrade numpy

卸载numpy:

pip uninstall numpy

查看numpy的版本:

import numpy

print(numpy.__version__)

查看numpy的安装位置:

pip show numpy

以上命令中,pip是Python的包管理工具,numpy是要安装或管理的Python包。

在已知需求资源包requirement.txt内容时,可以通过下面pip命令快速安装相关依赖库

pip install -r requirements.txt

pip install -i Simple Index -r requirements.txt(使用指定源,更快,前面已经换过pip源这里就不用加了)

实在装不上的库尝试下列方法

sudo apt install python3-h5py

如果遇到兼容性问题(特别是aarch64架构)添加 --no-binary 参数

先安装必要依赖sudo apt-get install libatlas3-base libopenblas-base

强制从源码构建(避免二进制兼容问题)python3.8 -m pip install numpy==1.19.1 --no-binary numpy -i https://mirrors.aliyun.com/pypi/simple/

说明:使用 python3.8 -m pip 确保调用的是 Python 3.8.10 绑定的 pip,如果安装多个python版本,建议使用python3.8 -m pip install numpy==1.19.1这种方式

保存版本:生成 requirements.txt(记录所有指定版本)

python3.8 -m pip freeze > requirements.txt

PS:安装某些特殊的包

tensorflow:

先安装一些依赖

sudo apt-get update

sudo apt-get install -y \python3-dev \python3-pip \gcc \g++ \make \libhdf5-dev \libblas-dev \liblapack-dev \
pkg-config

依赖h5py先安装

python3.8 -m pip install --pre --extra-index-url https://snapshots.linaro.org/ldcg/python-cache/ h5py

安装tensorflow(特定版本匹配算法模型,否则白装)

python3.8 -m pip install --default-timeout=6000 tensorflow

指定版本

卸载之前(如需) pip uninstall tensorflow

python3.8 -m pip install --upgrade --force-reinstall \tensorflow==2.10.0 \tensorflow-estimator==2.10.0 \-i https://mirrors.aliyun.com/pypi/simple/

3.算法模型运行测试

requirement.txt列表内环境(在产品状态已经固化时使用txt列表环境安装,在调试测试阶段建议直接安装好python和pip,运行模型缺什么库就在线安装什么,会自动匹配库版本,否则txt内库不一定与模型匹配,也不一定与设备内部环境匹配,会一直安装错误报错)

测试我做的python测试程序

测试pytest_local_time.py

import datetime
import timedef display_local_time():"""持续显示本地时间"""print("本地时间显示程序 (按Ctrl+C停止)")print("----------------------------")try:while True:# 获取当前本地时间current_time = datetime.datetime.now()# 格式化输出print(f"\r当前时间: {current_time.strftime('%Y-%m-%d %H:%M:%S')}", end="", flush=True)# 每秒刷新一次time.sleep(1)except KeyboardInterrupt:print("\n程序已停止")if __name__ == "__main__":display_local_time()

执行python pytest_local_time.py

结果:

测试pytest_pandas_numpy.py

import numpy as np
import pandas as pddef test_pandas_numpy():"""测试 Pandas 和 Numpy 功能的简单程序"""print("=== Pandas 和 Numpy 测试程序 ===")# 1. 测试 Numpy 功能print("\n1. Numpy 测试:")# 创建一个 numpy 数组arr = np.array([1, 2, 3, 4, 5])print(f"创建的数组: {arr}")print(f"数组平均值: {np.mean(arr)}")print(f"数组标准差: {np.std(arr)}")# 2. 测试 Pandas 功能print("\n2. Pandas 测试:")# 创建一个简单的 DataFramedata = {'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35],'Score': [85.5, 92.3, 88.9]}df = pd.DataFrame(data)print("创建的 DataFrame:")print(df)# 3. 测试两个库的交互print("\n3. Pandas 和 Numpy 交互测试:")# 在 DataFrame 中添加一列 numpy 计算的结果df['Score_Scaled'] = df['Score'].values * 0.8 + 20print("添加计算列后的 DataFrame:")print(df)print("\n所有测试完成!")if __name__ == "__main__":test_pandas_numpy()

执行python pytest_pandas_numpy.py

结果:

测试pytest_mostenv.py

import sys
import importlib
from termcolor import colored# 需要测试的包列表
PACKAGES_TO_TEST = [('absl-py', None),('astunparse', lambda: astunparse.unparse(ast.parse("x = 1"))),('async_timeout', None),('cachetools', None),('certifi', None),('charset_normalizer', None),('contourpy', None),('cycler', None),('fonttools', None),('gast', None),('google.auth', None),('google.auth.oauthlib', None),('google.pasta', None),('greenlet', None),('grpcio', None),('h5py', lambda: h5py.__version__),('idna', None),('importlib_metadata', None),('importlib_resources', None),('joblib', None),('keras', lambda: keras.__version__),('keras_preprocessing', None),('kiwisolver', None),('markdown', lambda: markdown.markdown("**test**")),('markupsafe', lambda: markupsafe.escape("<html>")),('matplotlib', lambda: matplotlib.__version__),('numpy', lambda: numpy.array([1, 2, 3]).sum()),('oauthlib', None),('opt_einsum', None),('packaging', None),('pandas', lambda: pandas.Series([1, 2, 3]).mean()),('PIL', lambda: PIL.__version__),  # Pillow('pip', lambda: pip.__version__),('protobuf', lambda: protobuf.__version__),('pyasn1', None),('pyasn1_modules', None),('pyparsing', None),('dateutil', lambda: dateutil.__version__),  # python-dateutil('pytz', lambda: pytz.utc.zone),('yaml', lambda: yaml.safe_dump({"test": 1})),  # PyYAML('redis', None),('requests', lambda: requests.__version__),('requests_oauthlib', None),('rsa', None),('sklearn', lambda: sklearn.__version__),  # scikit-learn('scipy', lambda: scipy.__version__),('seaborn', lambda: seaborn.__version__),('setuptools', lambda: setuptools.__version__),('six', lambda: six.__version__),('some_package', None),('tensorboard', lambda: tensorboard.__version__),('tensorboard_plugin_wit', None),('tensorflow', lambda: tensorflow.__version__),('tensorflow_estimator', None),('termcolor', lambda: termcolor.colored("test", "red")),('threadpoolctl', None),('tzdata', None),('urllib3', lambda: urllib3.__version__),('werkzeug', lambda: werkzeug.__version__),('wheel', lambda: wheel.__version__),('wrapt', None),('zipp', None)
]def test_package(package_name, test_func=None):"""测试单个包是否能正常导入和使用"""try:# 动态导入包module = importlib.import_module(package_name.replace('-', '_'))globals()[package_name.replace('-', '_')] = module# 如果有测试函数则执行if test_func:test_func()return True, Noneexcept Exception as e:return False, str(e)def main():print(colored("=== 开始环境依赖测试 ===", "green", attrs=["bold"]))print(f"Python 版本: {sys.version}\n")results = []total = len(PACKAGES_TO_TEST)success = 0for package, test_func in PACKAGES_TO_TEST:# 特殊处理某些包的导入名称display_name = packageif package == 'PIL':display_name = 'pillow'elif package == 'yaml':display_name = 'PyYAML'elif package == 'sklearn':display_name = 'scikit-learn'elif package == 'dateutil':display_name = 'python-dateutil'ok, error = test_package(package, test_func)status = colored("✓ 成功", "green") if ok else colored(f"✗ 失败: {error}", "red")results.append((display_name, status))if ok:success += 1# 打印结果表格print("\n" + colored("测试结果:", "cyan", attrs=["bold"]))for name, status in results:print(f"{name.ljust(25)} {status}")# 汇总统计print("\n" + colored("测试汇总:", "cyan", attrs=["bold"]))print(f"总包数: {total}")print(f"成功: {success}")print(f"失败: {total - success}")print(colored(f"成功率: {success/total*100:.2f}%", "green" if success == total else "yellow"))if success == total:print(colored("\n所有依赖包测试通过!", "green", attrs=["bold"]))else:print(colored("\n部分依赖包测试失败!", "red", attrs=["bold"]))if __name__ == "__main__":main()

执行python pytest_mostenv.py

结果:

测试实际项目算法测试程序

将predict文件夹的BIlstm.py和data2.csv放入目标机中

执行python BIlstm.py

结果:

报错

Tensorflow版本不能超过2.13,卸载安装2.10.0版本

再次测试执行python BIlstm.py

可以看见一直再跑数据

最后这个模型就不公开了,保密要求,其实测试AI生成的py程序,测试环境就ok了

四、结语

算法环境是基础

环境安装好了再去研究如何使用

方法就有很多了,可以只运行python程序,可以结合qt程序或其他程序,可以使用redis中间件做数据信息同步转发等等。

相关文章:

RK3588使用笔记:系统算法依赖库安装

一、前言 嵌入式设备随着需求的提升&#xff0c;不再仅仅只只运行个单机程序那么简单了&#xff0c;社会发展设备升级&#xff0c;都会逐步引用人工智能&#xff0c;涉及到算法模型&#xff0c;这里基础的部分就是算法环境的安装&#xff0c;有的算法是C&#xff0c;大部分算法…...

数据结构C语言练习(单双链表)

本篇练习题(单链表)&#xff1a; 1.力扣 203. 移除链表元素 2.力扣 206. 反转链表 3.力扣 876. 链表的中间结点 4.力扣 21. 合并两个有序链表 5. 牛客 链表分割算法详解 6.牛客 链表回文结构判断 7. 力扣 160. 相交链表 8. 力扣 141 环形链表 9. 力扣 142 环形链表 II…...

Linux驱动开发 中断处理

目录 序言 1.中断的概念 2.如何使用中断 中断处理流程 中断上下文限制 屏蔽中断/使能 关键区别与选择 上半部中断 下半部中断 软中断&#xff08;SoftIRQ&#xff09; 小任务(Tasklet) 工作队列&#xff08;Workqueue&#xff09; 线程 IRQ&#xff08;Threaded IRQ…...

C++ set map

1.set和map是什么 set和map是 C STL 提供的容器&#xff0c;用于高效的查找数据&#xff0c;底层采用红黑树实现&#xff0c;其中set是Key模型&#xff0c;map是Key-Value模型 set和map的基本使用较为简单&#xff0c;这里不再叙述&#xff0c;直接进入实现环节 2.set和map的…...

Vue2和Vue3响应式的基本实现

目录 简介Vue2 响应式Vue2 响应式的局限性 Vue3 响应式Vue3 响应式的优点 Vue2 和 Vue3 响应式对比 简介 在 Vue 框架中&#xff0c;数据的响应式是其核心特性之一。当页面数据发生变化时&#xff0c;我们希望界面能自动更新&#xff0c;而不是手动操作 DOM。这就需要对数据进…...

PyQt6实例_批量下载pdf工具_界面开发

目录 前置&#xff1a; 代码&#xff1a; 视频&#xff1a; 前置&#xff1a; 1 本系列将以 “PyQt6实例_批量下载pdf工具”开头&#xff0c;放在 【PyQt6实例】 专栏 2 本系列涉及到的PyQt6知识点&#xff1a; 线程池&#xff1a;QThreadPool,QRunnable&#xff1b; 信号…...

FOC 控制笔记【三】磁链观测器

一、磁链观测器基础 1.1 什么是磁链 磁链&#xff08;magnetic linkage&#xff09;是电磁学中的一个重要概念&#xff0c;指导电线圈或电流回路所链环的磁通量。单位为韦伯&#xff08;Wb&#xff09;&#xff0c;又称磁通匝。 公式为&#xff1a; 线圈匝数 穿过单匝数的…...

前端Material-UI面试题及参考答案

目录 Material-UI 的设计理念与 Material Design 规范的关系是什么? 如何通过 npm/yarn/pnpm 安装 Material-UI 的核心依赖? Material-UI 的默认主题系统如何实现全局样式管理? 如何在项目中配置自定义字体和颜色方案? 什么是 emotion 和 styled-components,它们在 Ma…...

【LeetCode基础算法】链表所有类型

1. 遍历链表 二进制链表转整数找出临界点之间的最小和最大距离 2. 删除节点 移除链表元素从链表中移除在数组中存在的节点删除排序链表中的重复元素删除排序链表中的重复元素 II 3. 插入节点 在链表中插入最大公约数 计算最大公约数的内置函数gcd(a,b)&#xff0c;也可以m…...

备赛蓝桥杯之第十六届模拟赛第1期职业院校组第五题:回忆画廊

提示&#xff1a;本篇文章仅仅是作者自己目前在备赛蓝桥杯中&#xff0c;自己学习与刷题的学习笔记&#xff0c;写的不好&#xff0c;欢迎大家批评与建议 由于个别题目代码量与题目量偏大&#xff0c;请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…...

51 驱动 INA219 电流电压功率测量

文章目录 一、INA219简介二、引脚功能三、寄存器介绍1.配置寄存器 0x002.分流电压寄存器 0x013.总线电压寄存器 0x024.功率寄存器 0x035.电流寄存器 0x046.基准寄存器 0x05 四、IIC 时序说明1.写时序2.读时序 五、程序六、实验现象1.线路图2.输出数据 一、INA219简介 INA219是…...

JavaScript弹出框的使用:对话框、确认框、提示框、弹窗操作

关于 Window对象和 Document 对象的详细使用,系列文章: 《Window对象的常用属性和方法》 《Document对象的常用属性和方法:getElementById()、getElementsByName()、createElement()方法》 《Document获取元素并修改内容:getElementById()方法、value属性、innerHTML属性、…...

【设计模式】深入解析设计模式:门面模式(外观模式)的定义、优点和代码实现

门面模式&#xff08;外观模式&#xff09; SLF4J是门面模式的典型应用&#xff08;但不仅仅使用了门面模式&#xff09;。 门面模式定义 门面模式&#xff08;Facade Pattern&#xff09;又称为外观模式&#xff0c;提供了一个统一的接口&#xff0c;用来访问子系统中的一群…...

UE5学习笔记 FPS游戏制作34 触发器切换关卡

文章目录 搭建关卡制作触发器传送门显示加载界面 搭建关卡 首先搭建两个关卡&#xff0c;每个关卡里至少要有一个角色 制作触发器传送门 1 新建一个蓝图&#xff0c;父类为actor&#xff0c;命名为portal&#xff08;传送门&#xff09; 2 为portal添加一个staticMesh&#…...

UE5学习笔记 FPS游戏制作26 UE中的UI

文章目录 几个概念创建一个UI蓝图添加UI获取UI的引用 切换设计器和UI蓝图将UI添加到游戏场景锚点轴点slotSizeToContent三种UI数据更新方式(Text、Image)函数绑定属性绑定事件绑定 九宫格分割图片按钮设置图片绑定按下事件 下拉框创建添加数据修改样式常用函数 滚动框创建添加数…...

Spring Boot分布式项目重试实战:九种失效场景与正确打开方式

在分布式系统架构中&#xff0c;网络抖动、服务瞬时过载、数据库死锁等临时性故障时有发生。本文将通过真实项目案例&#xff0c;深入讲解Spring Boot项目中如何正确实施重试机制&#xff0c;避免因简单粗暴的重试引发雪崩效应。 以下是使用Mermaid语法绘制的重试架构图和决策…...

首个物业plus系列展 2025上海国际智慧物业博览会开幕

AI赋能服务升级&#xff01;首个“物业plus”系列展 2025上海国际智慧物业博览会盛大开幕 3月31日&#xff0c;2025上海国际智慧物业博览会&#xff08;简称“上海物博会”&#xff09;在上海新国际博览中心N4馆隆重开幕。本届展会由广州旭杨国际展览有限公司主办&#xff0c…...

《C++多线程下单例 “锁钥” 法则》

一、概述 本文章介绍了一段 C 代码&#xff0c;该代码实现了在多线程环境下的单例模式。单例模式确保一个类只有一个实例&#xff0c;并提供全局访问点。在多线程场景中&#xff0c;需要额外的同步机制来保证单例对象创建的线程安全性。单例模式在许多场景中都有重要应用&#…...

WEB或移动端常用交互元素及组件 | Axure / 元件类型介绍(表单元件、菜单和表格 、流程元件、标记元件)

文章目录 引言I Axure / 元件类型介绍基本元件表单元件菜单和表格流程元件标记元件II Axure 基础Axure / 常用功能介绍Axure / 常用元素实例Axure / 动态交互实例Axure / 常用设计分辨率推荐III Axure / 创建自己的元件库元件库作用元件库的创建及使用引言 I Axure / 元件类型介…...

开发环境解决Secure Cookie导致302重定向

问题现象与根源分析 故障现象 前端本地开发时&#xff08;HTTP协议&#xff09;&#xff0c;调用接口返回302 Found状态码浏览器控制台警告&#xff1a;“Cookie被阻止&#xff0c;因为设置了Secure属性但未通过HTTPS传输”登录态无法保持&#xff0c;页面陷入重定向循环 技…...

华为三进制逻辑与高维量子计算的对比分析

此博客深入探讨华为三进制逻辑状态的技术意义&#xff0c;并与高维量子计算系统进行对比。文章将全面展开技术原理、实现机制、计算能力对比、未来应用前景等方面的内容。 目录 引言 华为三进制逻辑的创新意义 2.1 二进制逻辑的局限与历史探索 2.2 三进制逻辑的优势&#xff…...

网红指路机器人是否支持环境监测功能?

嘿呀&#xff0c;你可知道&#xff1f;如今的叁仟网红指路机器人那可太牛啦&#xff01;它们可不单单局限于为行人指明方向&#xff0c;还纷纷兼职当起了 “环境小卫士”&#xff0c;为咱们的城市生活注入了前所未有的超智能便利。就拿那个依托叁仟智慧杆打造的数智指路机器人来…...

【进阶】vscode 中使用 cmake 编译调试 C++ 工程

基于 MSYS2 的 MinGW-w64 GCC 工具链与 CMake 构建系统&#xff0c;结合VSCode及其扩展插件&#xff08; ms-vscode.cmake-tools&#xff09;&#xff0c;可实现高效的全流程C开发调试。既可通过 VSCode 可视化界面&#xff08;命令面板、状态栏按钮&#xff09;便捷完成配置、…...

突发,国行 iPhone 17,支持 eSIM

古人云“无心生大用”&#xff0c;往往你感到绝望的时候&#xff0c;转机就莫名其妙的来了。 根据供应链的最新消息&#xff0c;国行 iPhone 17 Air&#xff0c;有望用上 eSIM。 不仅如此&#xff0c;国产手机厂商&#xff0c;也计划推出类似iPhone 17 Air的超薄机型&#xf…...

红宝书第二十二讲:详解JavaScript类型化数组与二进制数据处理

红宝书第二十二讲&#xff1a;详解JavaScript类型化数组与二进制数据处理 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、为什么需要类型化数组&#xff1f; 普通JavaScript数组&#xff08;Array&#xff0…...

Elasticsearch安全与权限控制指南

在Elasticsearch维护中&#xff0c;安全管理是保障数据合规性和集群稳定性的关键。本文将详细介绍用户与角色管理、索引/字段级权限控制、HTTPS加密通信、审计日志与合规性检查等核心安全实践&#xff0c;希望可以帮助你构建更安全的Elasticsearch环境。 1 用户与角色管理 1.1…...

SAP 学习笔记 - 系统移行业务 - MALSY(由Excel 移行到SAP 的收费工具)

以前有关移行&#xff0c;也写过一些文章&#xff0c;比如 SAP 学习笔记 - 系统移行业务 - Migration cockpit工具 - 移行Material&#xff08;品目&#xff09;-CSDN博客 SAP 学习笔记 - 系统移行业务 - Migration cockpit工具2 - Lot导入_sap cockpit-CSDN博客 SAP学习笔记…...

【群智能算法改进】一种改进的蜣螂优化算法IDBO[3](立方混沌映射Cubic、融合鱼鹰勘探策略、混合高斯柯西变异)【Matlab代码#92】

文章目录 【获取资源请见文章第5节&#xff1a;资源获取】1. 原始DBO算法2. 改进后的IDBO算法2.1 立方混沌映射Cubic种群初始化2.2 融合鱼鹰勘探策略2.3 混合高斯柯西变异 3. 部分代码展示4. 仿真结果展示5. 资源获取 【获取资源请见文章第5节&#xff1a;资源获取】 1. 原始DB…...

《异常检测——从经典算法到深度学习》30. 在线服务系统中重复故障的可操作和可解释的故障定位

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …...

座舱与智驾“双轮驱动”,芯擎科技打造智能汽车“芯”标杆

在比亚迪、吉利、奇瑞等各大主机厂打响“全民智驾”的关键时期&#xff0c;以芯擎科技为代表中国芯片厂商开始“放大招”。 2025年3月27日&#xff0c;芯擎科技在南京举办了“擎随芯动、智融万象”生态科技日&#xff0c;重磅发布了“星辰一号”、“星辰一号Lite”&#xff0c…...

观察者模式在Java单体服务中的运用

观察者模式主要用于当一个对象发生改变时&#xff0c;其关联的所有对象都会收到通知&#xff0c;属于事件驱动类型的设计模式&#xff0c;可以对事件进行监听和响应。下面简单介绍下它的使用&#xff1a; 1 定义事件 import org.springframework.context.ApplicationEvent;pu…...

html5时钟升级!支持切换深浅模式 Canvas实现现代化动态时钟

HTML5 Canvas实现现代化动态时钟 这里写目录标题 HTML5 Canvas实现现代化动态时钟项目介绍技术实现1. 项目架构2. Canvas绘图实现2.1 表盘绘制2.2 刻度绘制2.3 指针绘制 3. 动画效果4. 主题切换 项目亮点技术要点总结项目收获改进方向结语 项目介绍 本项目使用HTML5 Canvas技术…...

Scala(2)

For循环控制 循环守卫 基本语法 for(i <- 1 to 3 if i ! 2) { print(i " ") }println() 说明&#xff1a; 循环守卫&#xff0c;即循环保护式&#xff08;也称条件判断式&#xff0c;守卫&#xff09;。保护式为 true 则进入循环体内部&#xff0c;为false 则跳…...

DataGear 5.3.0 制作支持导出表格数据的数据可视化看板

DataGear 内置表格图表底层采用的是DataTable表格组件&#xff0c;默认并未引入导出数据的JS支持库&#xff0c;如果有导出表格数据需求&#xff0c;则可以在看板中引入导出相关JS支持库&#xff0c;制作具有导出CSV、Excel、PDF功能的表格数据看板。 在新发布的5.3.0版本中&a…...

项目-苍穹外卖(十六) Apache ECharts+数据统计

一、介绍 二、营业额统计 需求分析和设计&#xff1a; Controller: Service: /*** 营业额统计* param begindate* param enddate* return* */Overridepublic TurnoverReportVO turnoverStatistics(LocalDate begindate, LocalDate enddate) {//创建时间集合List<LocalDate&…...

使用 PowerShell 脚本 + FFmpeg 在 Windows 系统中批量计算 MP4视频 文件的总时长

步骤 1&#xff1a;安装 FFmpeg 访问 FFmpeg 官网(Download FFmpeg)&#xff0c;下载 Windows 版编译包&#xff08;如 ffmpeg-release-full.7z&#xff09;。或者到&#xff08;https://download.csdn.net/download/zjx2388/90539014&#xff09;下载完整资料 解压文件&#…...

低成本文件共享解决方案:Go File本地Docker部署与外网访问全记录

文章目录 前言1. 安装Docker2. Go File使用演示3. 安装cpolar内网穿透4. 配置Go File公网地址5. 配置Go File固定公网地址 前言 在这个信息爆炸的时代&#xff0c;谁还没遇到过这样的囧事呢&#xff1f;正在办公室电脑上赶工报告&#xff0c;手机却突然蹦出一条紧急邮件&#…...

python文件的基本操作和文件读写

目录 文件的基本操作 文件读写 文件的基本操作 Python 中对文件的基本操作主要包括打开文件、读取文件、写入文件和关闭文件等操作。下面是一个简单的示例&#xff1a; 打开文件&#xff1a; file open(example.txt, r) # 使用 open() 函数打开一个名为 example.txt 的文…...

大数据与datax1.0

一、datax含义 是一个数据搬运工具 二、需要注意的点 插件(plugin)下面的reader和writer 要删除(第一步执行肯定会报错 所以请记得一定要删除reader和writer下的隐藏文件) 三、心得 做任何事要事半功倍,而不要事倍功半,好的学习方法永远比盲目的努力更重要--------谨记3.31…...

蚂蚁集团主导的ISO密码学国际标准立项,纳入国产算法

蚂蚁集团主导的ISO密码学国际标准 ISO 25330-3 立项&#xff0c; 国产算法Ferret成为标准方案。 近日&#xff0c;在美国弗吉尼亚州举行的 ISO/IEC JTC 1/SC 27 全体会议上&#xff0c;ISO/IEC 25330第三部分《Information Security — Oblivious Transfer — Part 3: Obliv…...

【新人系列】Golang 入门(十):错误处理详解 - 上

✍ 个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 专栏地址&#xff1a;https://blog.csdn.net/newin2020/category_12898955.html &#x1f4e3; 专栏定位&#xff1a;为 0 基础刚入门 Golang 的小伙伴提供详细的讲解&#xff0c;也欢迎大佬们…...

Unity 2022.3.x部分Android设备播放视频黑屏问题

Android平台视频兼容性问题很多…类似的黑屏问题真的很头大&#xff0c;总结一些常见问题&#xff1a; 1. 视频文件不支持压缩 如果使用AssetBundle加载视频&#xff0c;这个AssetBundle压缩格式要选None。有人可能会说最新版Unity已经支持bundle压缩下播放视频&#xff0c;稳…...

基于Python的Django框架的个人博客管理系统

标题:基于Python的Django框架的个人博客管理系统 内容:1.摘要 本文围绕基于Python的Django框架构建个人博客管理系统展开。背景方面&#xff0c;随着互联网发展&#xff0c;个人博客成为信息分享与交流重要平台&#xff0c;传统博客管理系统在功能与灵活性上存在不足。目的是开…...

Unity加载OSGB倾斜摄影数据

Unity加载OSGB倾斜摄影数据 显而易见有一个最方便的办法就是使用CesiumForUnity确定是可以通过osgb数据转换成3dtiles进行加载的&#xff0c;然而有没有直接加载osgb格式数据的方法呢&#xff1f; 我们知道osgb的osg推出的倾斜摄影数据的数据结构&#xff0c;所以&#xff0c…...

RabbitMQ简单介绍和安装

RabbitMQ简单介绍 一.RabbitMQ介绍二.RabbitMQ的作用1.异步解耦2.流量削峰3.消息分发4.延迟通知 三.RabbitMQ安装&#xff08;Ubuntu&#xff09;1.先安装Erlang2.安装RabbitMQ3.安装RabbitMQ的管理界面4.创建虚拟机5.端口号信息 四.工作原理图 一.RabbitMQ介绍 RabbitMQ 是一款…...

【清华大学】DeepSeek政务应用场景与解决方案

目录 一、政务数字化转型三阶段演进二、人工智能政务应用场景四大方向 三、技术方案核心技术 四、解决方案案例1. 公文写作2. 合同协议智能审查3. 行政执法4. 就业指导 五、风险及对策六、落地大四步法七、未来发展展望AI职业替代逻辑空间智能与具身智能人机共生 一、政务数字化…...

spring boot自动装配原理

springboot自动装配几乎是现在面试必问的面试题&#xff0c;要是逐行分析自动装配流程肯定是很复杂的&#xff0c;因此我们从大体上来梳理即可。 一、 自动装配总览 首先要搞清楚两个问题&#xff0c;springboot自动装配是什么&#xff1f;解决了什么问题&#xff1f; springbo…...

【SDMs分析1】基于ENMTools R包的生态位分化分析和图像绘制(identity.test())

基于ENMTools包的生态位分化 1. 写在前面2. 生态位分化检验案例13. 生态位分化检验案例21. 写在前面 最近学了一个新的内容,主要是关于两个物种之间生态位分化检验的 R 语言代码。生态位分化是物种分布模型(SDM )研究中的关键部分,许多 SCI 论文都会涉及这一分析。该方法主…...

蓝桥杯比赛python程序设计——纯职业小组

问题描述 在蓝桥王国&#xff0c;国王统治着一支由 nn 个小队组成的强大军队。每个小队都由相同职业的士兵组成。具体地&#xff0c;第 ii 个小队包含了 bibi​ 名职业为 aiai​ 的士兵。 近日&#xff0c;国王计划在王宫广场举行一场盛大的士兵检阅仪式&#xff0c;以庆祝王…...

【Git教程】将dev分支合并到master后,那么dev分支该如何处理

将 dev 合并到 master 后的分支状态与操作指南 1. 合并后的分支状态 dev 分支不会消失&#xff1a; Git 的 git merge 命令仅将 dev 的内容合并到 master&#xff0c;不会删除 dev 分支。合并后&#xff0c;dev 分支仍然存在&#xff0c;其历史记录和代码保持不变。 分支的 H…...