华为Atlas 300I 推理卡显卡安装

华为Atlas 300I 推理卡显卡安装

参考链接:
https://support.huawei.com/enterprise/zh/doc/EDOC1100115618/c5bac9d1

  • 确认操作系统
查询服务器当前运行环境的操作系统架构及版本
uname -m && cat /etc/*release
  • 获取软件包
    下载对应版本的包
    A800-3000-NPU-CentOS7.6-ARM-V1.4.3.run

NPU 1.X.X 软件包版本类型

创建运行用户
root用户下执行
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash确认安装方式
uname -r
gcc -v
lsmod|grep drv_pcie_host
lspci | grep d100
  • 安装驱动(适用于.run格式)
    安装NPU 1.X.X系列版本驱动包
切换至root用户
su root
进入软件包所在路径
cd /data/soft/
增加软件包的可执行权限
chmod +x A800-3000-NPU-CentOS7.6-ARM-V1.4.3.run 
校验run安装包的一致性和完整性
./A800-3000-NPU-CentOS7.6-ARM-V1.4.3.run --check
打印如下:
Verifying archive integrity...  100%   MD5 checksums are OK. All good.

未指定安装路径:默认安装
如果用户不需要指定安装路径,安装包会安装到默认路径“/usr/local/HiAI”下
安装命令:

 ./A800-3000-NPU-CentOS7.6-ARM-V1.4.3.run --full

如果提示安装成功,需要重启时: reboot,没有提示要重启,就不需要重启

查看驱动加载是否成功
npu-smi info
  • 安装固件(适用于.run格式)
    使用NPU 1.X.X系列版本软件包安装时,固件包集成在驱动包内,安装或升级驱动过程中会自动安装和升级固件。
npu-smi -v
npu-smi info
npu-smi info -l
npu-smi info watch -i 0 -c 2 -d 5 -s ptaicmb   

NPU 1.X.X 软件包版本 不支持docker容器内安装,卸载完,安装 NPU 20.2.X

  • 卸载驱动(适用于.run格式)

卸载NPU 1.X.X系列版本驱动

su root
cd /data/soft
./A800-3000-NPU-CentOS7.6-ARM-V1.4.3.run --uninstall

卸载固件(适用于.run格式)
卸载NPU 1.X.X系列版本软件包时,固件包集成在驱动包内,卸载驱动会自动卸载固件。

  • 安装NPU 20.X.X
    A300-3000-3010-npu-driver_20.2.2_centos7.6-aarch64.run
创建运行用户
root用户下执行
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
  • 安装NPU 20.X.X及以上系列版本驱动包
切换至root用户
su root
进入软件包所在路径
cd /data/soft/
增加软件包的可执行权限
chmod +x A300-3000-3010-npu-driver_20.2.2_centos7.6-aarch64.run 
校验run安装包的一致性和完整性
./A300-3000-3010-npu-driver_20.2.2_centos7.6-aarch64.run --check
打印如下:
Verifying archive integrity...  100%   SHA256 checksums are OK. All good.

未指定安装路径:默认安装
如果用户不需要指定安装路径,软件包默认安装路径:/usr/local/Ascend
安装详细日志路径:/var/log/ascend_seclog/ascend_install.log。
安装命令:

./A300-3000-3010-npu-driver_20.2.2_centos7.6-aarch64.run --full安装提示: 驱动包安装成功! 安装/升级需要重启才能生效!
Driver package install success! Reboot needed for installation/upgrade to take effect! 重启
reboot查看驱动加载是否成功
npu-smi info
显示如下:npu-smi 20.2.2                       Version: 20.2.2      查看芯片固件版本号请执行
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version
  • 安装固件(适用于.run格式)
切换至root用户
su root
进入软件包所在路径
cd /data/soft/
增加软件包的可执行权限
chmod +x A300-3000-3010-npu-firmware_1.76.22.10.220.run 
校验run安装包的一致性和完整性./A300-3000-3010-npu-firmware_1.76.22.10.220.run --check
打印如下:
Verifying archive integrity...  100%   SHA256 checksums are OK. All good.安装命令
./A300-3000-3010-npu-firmware_1.76.22.10.220.run --full
提示: 固件包安装成功! 安装/升级需要重启才能生效!
Firmware package install success! Reboot needed for installation/upgrade to take effect! 重启
reboot执行如下命令查看芯片固件版本号。若与目标版本一致,则说明安装成功。
/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version
  • Docker 容器安装
    宿主机目录挂载容器
    前提条件
    宿主机已经安装过Driver软件包。
    需用户在宿主机自行安装docker(使用NPU 20.0.X和NPU 20.1.X系列版本软件包安装时,版本要求大于等于18.03)。
docker pull ubuntu:18.04
docker imagesid HwHiAiUser
gid=1001(HwHiAiUser)在宿主机创建并启动docker容器
使用NPU 20.2.X及以上系列版本软件包安装时,请执行如下命令:
docker run -it --net=host --cap-add LINUX_IMMUTABLE --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/devmm_svm --device=/dev/hisi_hdc -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ ubuntu:18.04 /bin/bashls /dev/ | grep davinci*groupadd -g 1001 HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && echo ok使用NPU 20.2.X及以上系列版本软件包安装时,执行如下命令:
export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:$LD_LIBRARY_PATH查看驱动加载是否成功
npu-smi info
显示如下成功:npu-smi 20.2.2                       Version: 20.2.2      

宿主机目录不挂载容器
前提条件
宿主机已经安装过Driver软件包。
需用户在宿主机自行安装docker(使用NPU 20.0.X和NPU 20.1.X系列版本软件包安装时,版本要求大于等于18.03)。

docker run -it --net=host --pid=host --cap-add LINUX_IMMUTABLE --device=/dev/davinci0  --device=/dev/davinci_manager --device=/dev/devmm_svm --device=/dev/hisi_hdc -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /data:/data ubuntu:18.04 /bin/bashgroupadd -g 1001 HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && echo okdocker ps -a
docker cp /xxx/*.run container_id:/home/HwHiAiUser/software
docker cp /data/soft/A300-3000-3010-npu-driver_20.2.2_centos7.6-aarch64.run f621f77c310c:/home/HwHiAiUser/driverdocker start f621f77c310c
docker attach f621f77c310ccd /home/HwHiAiUser/ 
安装命令./driver --docker使用NPU 20.2.X及以上系列版本软件包安装时,执行如下命令:
export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64:$LD_LIBRARY_PATH查看驱动加载是否成功
npu-smi info
显示如下成功:npu-smi 20.2.2                       Version: 20.2.2docker run -it \
--device=/dev/davinci0 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /data:/data \
ascendhub.huawei.com/public-ascendhub/ascend-infer-arm:20.2.0 \
/bin/bashdocker run -it \
--device=/dev/davinci0 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /data:/data  ascendhub.huawei.com/public-ascendhub/ascend-infer:5.0.1-ubuntu18.04  \
/bin/bash

ai开源项目地址
https://gitee.com/ascend/samples

亮哥安装

 cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (AltArch) uname -a
Linux localhost.localdomain 4.14.0-115.el7a.0.1.aarch64 #1 SMP Sun Nov 25 20:54:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linuxcat /etc/sysconfig/network-scripts/ifcfg-enp125s0f0 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp125s0f0
UUID=c7f2acd8-f7d5-4ed7-a047-157326b16284
DEVICE=enp125s0f0
ONBOOT=yes
IPADDR=192.168.141.77
PREFIX=24
GATEWAY=192.168.141.254
DNS1=192.168.141.155
IPV6_PRIVACY=no
ZONE=publicsystemctl restart networkuname -m && cat /etc/*release./A300-3000-3010-npu-driver_21.0.1_linux-aarch64.run --install-username=root  --install-usergroup=root  --install-for-all --fullreboot./A300-3000-3010-npu-firmware_1.77.22.6.220.run --full/usr/local/Ascend/driver/tools/upgrade-tool --device_index -1 --component -1 --version./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install-for-all./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install --install-for-alluseradd -d /home/HwHiAiUser -m HwHiAiUser
passwd HwHiAiUser
chmod u+w /etc/sudoers
vim /etc/sudoers
root    ALL=(ALL)       ALLchmod u-w /etc/sudoers
gcc -Vyum install -y gcc g++ make cmake zlib1g zlib1g libsqlite3 openssl libssl-dev libffi unzip pciutils net-tools libblas gfortran libblas3 libopenblas
gcc -V
gcc --version./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --installtar -zxvf Python-3.7.5.tgz
cd Python-3.7.5./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j8make install
yum -y install zlib*
make installpython3.7.5
sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/local/python3.7.5/bin/python3.7.5
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/local/python3.7.5/bin/pip3.7.5
vim /etc/profile
#用于设置python3.7.5库文件路径
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用户环境存在多个python3版本,则指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATHsource /etc/profilepip3.7.5 install attrspip3.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 list
pip3.7.5 install attrs -i https://pypi.tuna.tsinghua.edu.cn/simple
yum -y install openssl openssl-devel
make -j8
make --installmake install
pip3.7.5 install attrs -i https://pypi.tuna.tsinghua.edu.cn/simple./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j8
make install
pip3.7.5 install attrs -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7.5 install psutil -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7.5 install psutil
yum install libffi-devel 
pip3.7.5 install psutil
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j8make install
pip3.7.5 install psutilpip3.7.5 install decorator numpy protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7.5 install decorator numpy==1.21.0 protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests -i https://pypi.tuna.tsinghua.edu.cn/simple
yum install gfortran libopenblas-dev liblapack-dev libatlas-base-dev libblas-dev
pip3 install Cython
pip3.7.5 install decorator numpy==1.21.0 protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install numpy./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install
vim /var/log/ascend_seclog/ascend_toolkit_install.log
groupadd usergroup
useradd -g usergroup -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
usermod -g root HwHiAiUser
vim /etc/passwd
HwHiAiUser:x:1000:1002::/home/HwHiAiUser:/bin/bashcd anaconda-ks.cfg ./Ascend-cann-toolkit_3.3.0_linux-aarch64.run install
./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install-for-all
./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --installmkdir Ascend
./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install --install-path=/root/Ascend/./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install --install-path=/root/Ascend/groupadd -g 1001 HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && echo ok
./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install
userdel -r HwHiAiUser
groupadd -g 1001 HwHiAiUser
userdel -r HwHiAiUser
kill -9 1
userdel -r HwHiAiUser
usermod -g 1001 HwHiAiUser
userdel -r HwHiAiUser
chmod u+w /etc/sudoersvim /etc/sudoers
chmod u-w /etc/sudoers
usermod -g 1001 HwHiAiUseruserdel -r HwHiAiUser
groupadd -g HwHiAiUser HwHiAiUser
groups root
groups 1001
groups HwHiAiUser
vim /etc/group
HwHiAiUser:x:1002:groups HwHiAiUser
gpasswd -d HwHiAiUser root
groups HwHiAiUser
userdel -r HwHiAiUser
reboot
npu-smi infoyum install g++
yum install gcc
yum install cmake
yum install -y cmake3
yum install -y gcc gcc-c++ make automake
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
yum install gcc
curl -Lks http://www.hop5.in/yum/el6/hop5.repo > /etc/yum.repos.d/hop5.repo
yum install gcc gcc-g++ -ywget https://cmake.org/files/v3.10/cmake-3.10.0-rc3.tar.gz
yum install -y wget
tar -zxvf cmake-3.10.0-rc3.tar.gz
cd cmake-3.10.0-rc3/
./bootstrap
gmake
gmake install./Ascend-cann-toolkit_3.3.0_linux-aarch64.run --install
docker ps
docker exec -it f1aaffa8be63 bashcd /root/cann
ls
A300-3000-3010-npu-driver_21.0.1_linux-aarch64.run  A300-3010-mcu_20.1.1.zip                         Ascend-cann-device-sdk_3.3.0_linux-aarch64.zip  Ascend-cann-toolkit_3.3.0_linux-aarch64.run
A300-3000-3010-npu-firmware_1.77.22.6.220.run       A300-3010-npu-driver-repack-tools_21.0.1.tar.gz  Ascend-cann-nnrt_3.3.0_linux-aarch64.run        lapack-3.9.0.tar.gz
A300-3010-mcu_20.1.1.bin                            Ascend-cann-benchmark_3.3.0-Linux-aarch64.zip    Ascend-cann-toolbox_3.3.0_linux-aarch64.run驱动和固件相关软件保存到了百度网盘
链接: https://pan.baidu.com/s/13mam2d-lEIeYWWZO_j-j_Q  密码: r9gnvim ~/.bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:/usr/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64:/usr/local/Ascend/ascend-toolkit/latest/atc/lib64
export PYTHONPATH=$PYTHONPATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl
export PATH=$PATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/bin:/usr/local/Ascend/ascend-toolkit/latest/atc/bin
export ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp
export TOOLCHAIN_HOME=/usr/local/Ascend/ascend-toolkit/latest/toolkitexport install_path=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_TENSOR_COMPLIER_INCLUDE=${install_path}/atc/include/
#/home/twai/Ascend202/ascend-toolkit/20.2/
export DDK_PATH=${install_path}/arm64-linux
export NPU_HOST_LIB=${install_path}/acllib/lib64/docker pull ubuntu:18.04

采用目录挂载方式
进入容器里

 docker exec -it f1aaffa8be63 bash
cat ~/.bashrc 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64:/usr/local/Ascend/ascend-toolkit/latest/atc/lib64
export PYTHONPATH=$PYTHONPATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl
export PATH=$PATH:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/bin:/usr/local/Ascend/ascend-toolkit/latest/atc/bin
export ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp
export TOOLCHAIN_HOME=/usr/local/Ascend/ascend-toolkit/latest/toolkitexport install_path=/usr/local/Ascend/ascend-toolkit/latest
export ASCEND_TENSOR_COMPLIER_INCLUDE=${install_path}/atc/include/
#/home/twai/Ascend202/ascend-toolkit/20.2/
export DDK_PATH=${install_path}/arm64-linux
export NPU_HOST_LIB=${install_path}/acllib/lib64/cd ~/samples/python/contrib/portrait_picture/model/
原始模型网络下载地址 :
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/PortraitNet%20/portrait.pb
对应的cfg文件下载地址:
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/PortraitNet%20/insert_op.cfg执行命令报错,没有生成.om文件
atc --model=./portrait.pb  --insert_op_conf=./insert_op.cfg  --output="./portrait" --output_type=FP32 --input_shape="Inputs/x_input:1,224,224,3" --framework=3 --soc_version=Ascend310直接获取om模型
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/PortraitNet%20/portrait.om获取样例需要的测试图片
cd ../data/
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/Portrait/background.jpg
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/Portrait/ori.jpgcd /root/samples/python/contrib/portrait_picture
python3 src/main.py 
报错: No module named 'cv2'python3.6 -m pip install opencv-python
报错: ModuleNotFoundError: No module named 'skbuild'python3.6 -m pip install scikit-build  
安装成功后
python3.6 -m pip install opencv-python  在次执行: python3 src/main.py 
init resource stage:
Init resource success
Init model resource start...
[Model] create model output dataset:
malloc output 0, size 401408
Create model output dataset success
Init model resource success
====ori.jpg====
in pre_process, use time:0.0037016868591308594
in inference, use time:0.006189584732055664
in post_process, use time:0.0028433799743652344
in background_replace, use time:0.09329771995544434
acl resource release all resource
dvpp resource release success
Model release source success
acl resource release stream
acl resource release context
Reset acl device  0
Release acl resource success
查看结果
ls outputs/result/  docker cp f1aaffa8be63:/root/samples/python/contrib/portrait_picture/outputs/result/ori.jpg ./
查看图片,图片的背景已经成功替换, 成功了

测试ai项目地址
https://gitee.com/ascend/samples/tree/master/python/contrib/portrait_picture
https://gitee.com/ascend/modelzoo/tree/master/contrib/TensorFlow/Research/cv/portraitnet/ATC_PortraitNet_tf_AE

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

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

相关文章

idea自动生成单元测试工具

idea自动生成单元测试工具 Squaretest插件(收费)TestMe插件(免费)启动springboot应用调用rest接口 Squaretest插件(收费) 1.File——>Settings——>Plugins,搜索Squaretest,然…

RPC知识

一、为什么要有RPC: HTTP协议的接口,在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;优点就是简单、直接、开发方便,利用现成的HTTP协议进行传输。 但是,如果是一个大型的网…

Java 对象(列表)复制【工具类】

Java当中常常会遇到对象的复制或者列表对象的复制,准备了一份工具类供大家参考: import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils;import java.util.ArrayList; import java.util.List; import java.uti…

[大模型]XVERSE-7B-chat FastAPI 部署

XVERSE-7B-Chat为XVERSE-7B模型对齐后的版本。 XVERSE-7B 是由深圳元象科技自主研发的支持多语言的大语言模型(Large Language Model),参数规模为 70 亿,主要特点如下: 模型结构:XVERSE-7B 使用主流 Deco…

HAL库开发--STM32的HAL环境搭建

知不足而奋进 望远山而前行 目录 文章目录 前言 下载 安装 解压 安装 添加开发包 修改仓库路径 下载软件开发包(慢,不推荐) 解压已有软件开发包(快,推荐) 总结 前言 在嵌入式系统开发中&#x…

线上教育培训办公系统系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,教师管理,学生管理,运营事件管理 教师账户功能包括:系统首页,个人中心,学生管理,作业管理,电…

【React】《React 学习手册 (第2版) 》笔记-Chapter4-React 运行机制

四、React 运行机制 使用 React 构建应用几乎离不开 JSX。这是一种基于标签的 JavaScript 句法,看起来很像 HTML。 为了在浏览器中使用 React,我们要引入两个库:React 和 ReactDOM。前者用于创建视图,后者则具体负责在浏览器中渲…

Java版+ SaaS应用+接口技术RESTful API 技术开发的智慧医院HIS系统源码 专注医院管理系统研发 支持二开

Java版 SaaS应用接口技术RESTful API WebSocket WebService技术开发的智慧医院HIS系统源码 专注医院管理系统研发 支持二开 医院住院管理系统(Hospital Information System简称HIS)是一门医学、信息、管理、计算机等多种学科为一体的边缘科学&#xff…

servlet数量太多,搞个轻量级springmvc

这两天用jspservletMySQL开发了一个企业网站,后台和前台都有,功能已经实现了,现在总结发现,servlet是真的多,我这个系统有7个表,后台实现一遍增删改查,就得有28个servlet,而且还有前…

LabVIEW与Matlab联合编程的途径及比较

​ LabVIEW和Matlab联合编程可以通过多种途径实现,包括调用Matlab脚本节点、使用LabVIEW MathScript RT模块、利用ActiveX和COM接口,以及通过文件读写实现数据交换。每种方法都有其独特的优势和适用场景。本文将详细比较这些方法,帮助开发者…

给文件夹加密的最简单方法

安当TDE透明加密针对文件夹数据加密的保护方案主要包括以下几个方面: 1. 透明加密机制: 用户无需关心数据的加密和解密过程,操作文件夹时就像处理普通数据一样。加密和解密操作在后台自动进行,对用户和应用程序透明。 2. 高性能加…

python文件操作(Windows路径,内置os库)+ 正则表达式(语法与re库)

文章目录 前言1 Windows路径(1)绝对路径 (Absolute Path)(2)相对路径 (Relative Path)一、python文件的读写操作1 读写(1)打开文件file = open(test1.txt,r,encoding=utf-8) --- 打开文件(2)读取文件内容content = file.read() --- 读取全部内容,返回字符串lines = re…

【QT5】<知识点> QT常用知识(更新中)

目录 一、更改文本颜色和格式 二、QT容器类 三、字符串与整数、浮点数之间的转换 四、QString常用功能 五、SpinBox的属性介绍 六、滑动、滚动、进度条和表盘LCD 七、时间、日期、定时器 一、更改文本颜色和格式 动态设置字体粗体:QFont对象的setBold方法动态…

java第二十四课 —— super 关键字 | 方法重写

super 关键字 基本介绍 super 代表父类的引用,用于访问父类的属性、方法、构造器。 基本语法 访问父类的属性,但不能访问父类的 private 属性。 super.属性名; 访问父类的方法,不能访问父类的 private 方法。 super.方法名(参数列表); 访…

面试题——Redis

★1.简述一下缓存穿透,缓存击穿,缓存雪崩 ? 缓存穿透:大量恶意请求一个不存在的数据,使得压力绕过Redis缓存层打到数据库,造成数据库瘫痪 处理:①设置黑名单,维护一个可能存在也可能不存在的黑名单数据列表,对请求进行过滤(简单高效) ②布隆过滤器,会出现误删,且相对麻烦(不…

车载网络安全指南 生产、运行和服务阶段(九)

返回总目录->返回总目录<- 目录 一、现场检测 二、事件响应 三、事件跟踪管理 一、现场检测 具有联网功能的汽车电子产品宜具备网络安全监测能力。当汽车或相关基础设施被公众使用时,可实施现场监测,以便通过监测日常事件获得有关网络安全的威胁预警,根据预定程序…

【Qt 6.3基础教程 02】 Qt Creator入门与界面概览

文章目录 前言开始之前启动Qt Creator主要区域介绍 创建一个新项目界面概览菜单栏工具栏模式选择器编辑区项目管理区侧边栏底部面板 常用功能代码编写与自动补全UI设计构建与运行版本控制插件和扩展 总结 前言 Qt Creator是一个跨平台的集成开发环境&#xff08;IDE&#xff0…

数据仓库数据集成开源工具

数据集成是数据仓库建设的重要环节&#xff0c;开源工具在这一领域提供了许多强大的解决方案。以下是一些常见的开源数据集成工具&#xff0c;它们各自有独特的功能和特点&#xff1a; 1. Talend Open Studio for Data Integration 概述&#xff1a;Talend Open Studio 是一款…

C++设计模式---外观模式

1、介绍 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它为子系统中的一组接口提供一个统一的、高层次的接口&#xff0c;使得子系统更容易使用。这种模式隐藏了子系统的复杂性&#xff0c;并为客户端提供了一个简单的接口。 外观模式的结…

node环境常见问题

文章目录 node运行环境常见问题1. node环境不支持ES6的import解决2. node版本太高&#xff0c;导致gitbook报错 node运行环境常见问题 1. node环境不支持ES6的import解决 在我学习ES6的import语法的时候&#xff0c;在自己电脑的node环境下模拟运行import&#xff0c;发现nod…