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

【香橙派-OpenCV-Torch-dlib】TF损坏变成RAW格式解决方案及python环境配置

前言

本文将介绍在香橙派(Orange Pi)开发板上进行软件配置和环境搭建的详细步骤,以便运行Python应用程序。这涵盖了以下主要内容:

  1. 获取所需软件:提供了香橙派操作系统和balenaEtcher工具的下载链接,以确保正确的操作系统安装。

  2. TF卡清空与分区重建:在Windows操作系统下,通过命令行工具(Command Prompt)清空和可选择性地分区与格式化TF卡的详细步骤,使其适用于不同需求,如重新烧录镜像或定制存储设备。

  3. 常用磁盘管理与修复方法:介绍了使用Diskpart和chkdsk工具来管理磁盘分区、格式化和修复文件系统的常见操作,以保持磁盘的健康状态。

  4. Python环境配置:包括在香橙派上安装Python 3.8、更新pip、更换pip源以及安装常用的Python库,以准备开发环境。

文章目录

  • 前言
    • 香橙派相关软件下载连接
    • TF 卡清空与分区重建
      • 步骤 1:插入 TF 卡和读卡器
      • 步骤 2:打开命令行工具并进入 diskpart
      • 步骤 3:列出可用的驱动器
      • 步骤 4:选择 TF 卡驱动器并清空内容
      • 步骤 5:创建分区并格式化 TF 卡(可选)
      • 步骤 6:修复并格式化TF卡文件系统类型为NTFS(可选)
        • 方法一
        • 方法二
      • 步骤 7:使用chkdsk修复磁盘
      • 步骤 8:使用Etcher再次烧录
    • Diskpart常用方法
    • chkdsk常用方法
    • python环境配置
      • 系统版本
      • 开始配置
      • 运行包配置
      • torch
        • 解决过程
      • dlib
        • 方法一
        • 方法二
      • 运行你的代码
      • 完整过程
  • 总结

香橙派相关软件下载连接

香橙派
balenaEtcher

TF 卡清空与分区重建

本部分将介绍如何在 Windows 操作系统下,使用命令行工具(Command Prompt)通过插入 TF 卡并执行一系列命令来清空其内容,并可选择性地进行分区和格式化,以使其像普通存储设备一样工作。这个过程非常有用,无论是为了重新烧录镜像还是为了定制存储设备。

步骤 1:插入 TF 卡和读卡器

首先,确保将 TF 卡插入到读卡器中,然后将读卡器连接到计算机上。TF 卡是一种常见的存储介质,通常用于嵌入式设备、相机、智能手机等。

步骤 2:打开命令行工具并进入 diskpart

打开 Windows 命令行工具,你可以在开始菜单中搜索 “cmd” 或按下 Windows + R 键,然后输入 “cmd” 并按 Enter 打开。命令行工具是一个强大的工具,用于执行各种系统级任务。

在命令行中输入以下命令,以进入 diskpart 工具:

diskpart.exe

Diskpart 是一个 Windows 命令行实用程序,可用于管理磁盘分区、格式化等磁盘操作。

步骤 3:列出可用的驱动器

在 diskpart 中,使用以下命令列出计算机上的所有磁盘驱动器及其编号:

list disk

每个磁盘驱动器都会有一个唯一的编号,通常以数字表示。在这一步,你需要找到与 TF 卡相关的磁盘驱动器编号(通常是可识别出其容量大小的那一个)。

步骤 4:选择 TF 卡驱动器并清空内容

使用以下命令选择 TF 卡所在的磁盘驱动器(将 x1 替换为 TF 卡所在驱动器的编号):

select disk x1

选中了 TF 卡驱动器后,使用以下命令来擦除任何现有文件系统,以彻底清空 TF 卡内容:

clean

此时,TF 卡已经彻底清空,可以重新烧录镜像或进行分区和格式化,具体取决于你的需求。

步骤 5:创建分区并格式化 TF 卡(可选)

如果你希望将 TF 卡分区并格式化,使其像普通存储设备一样工作,可以按照以下顺序输入命令:

create partition primary
select partition 1
format quick

这将创建一个主分区并快速格式化它,使 TF 卡准备好存储数据。

在这里插入图片描述

以上就是在 Windows 操作系统下使用命令行工具清空 TF 卡并进行分区和格式化的步骤。这个过程在嵌入式系统开发、数据备份和存储设备维护中非常常见。

注意: 在执行任何磁盘操作之前,请务必小心谨慎,确保你选择了正确的磁盘驱动器,以免意外删除重要数据。根据你的需求,你可以选择仅清空 TF 卡或同时创建分区和格式化 TF 卡。

步骤 6:修复并格式化TF卡文件系统类型为NTFS(可选)

上述步骤操作后,你应该可能可以正常访问TF卡了,但是你可能还是无法正常烧录系统

PhysicalDrive2: Checksum does not match for range[0,72351743]: "13908ca859e2ff5c" != "240694foa08e4cb8"

在这里插入图片描述

  • 如果你成功了,就可以跳过这里,后面我还记录了Diskpart和chkdsk常用方法
  • 否则你需要再次重复步骤1-5,然后格式化TF卡文件系统类型为NTFS

在这里插入图片描述

  • 你可能无法转换,我也碰到了这个问题,可能我买到的卡是扩容卡导致的
  • 后续步骤是我重新买的新卡烧录系统时遇到问题的解决方案
  • 你也可以尝试使用以下两种格式转换TF卡文件系统
方法一

步骤 1. 同时按住「Windows+R」进入 Diskpart 程序

diskpart.exe

步骤 2. 输入下方指令:

list volumeselect volume X ("X" 为 RAW 磁盘区代号)format fs=ntfs quickexit

你也可以

format fs=fat32 quick
方法二

(“x” 为 RAW 磁盘区代号)

convert x: /fs:ntfs

步骤 7:使用chkdsk修复磁盘

同时按下“Win+R”键,打开运行窗口。然后,在其中输入

chkdsk H:/F

H是指TF卡在本机中的盘符、F是修复参数,并按下“Enter”键确认,等待修复即可。

步骤 8:使用Etcher再次烧录

在这里插入图片描述

Diskpart常用方法

当使用 Diskpart 进行磁盘管理时,可以执行各种操作以管理计算机上的磁盘和分区。以下是一些详细的示例和说明:

  1. 列出磁盘和分区信息:

    • 列出所有磁盘信息:

      list disk
      
    • 列出所有分区和卷信息:

      list volume
      
  2. 选择磁盘或分区:

    • 选择磁盘(假设磁盘编号为 N):

      select disk N
      
    • 选择分区(假设分区编号为 N):

      select volume N
      
  3. 清除磁盘或分区:

    • 清除磁盘上的所有分区和卷,擦除数据:

      clean
      
    • 清除特定分区或卷上的数据:

      clean all
      
  4. 创建分区:

    • 创建主分区:

      create partition primary
      
    • 创建逻辑分区:

      create partition logical
      
  5. 格式化分区:

    • 快速格式化分区:

      format quick
      
    • 完全格式化分区:

      format fs=ntfs  # 或者其他文件系统类型
      
  6. 扩展分区:

    • 扩展一个已存在的分区以利用未分配的空间:

      extend
      
  7. 设备签名:

    • 设置磁盘的设备签名,以便更容易区分不同磁盘:

      uniqueid disk ID=NewID
      
  8. 离线和在线磁盘:

    • 将磁盘设置为离线状态:

      offline disk
      
    • 将磁盘设置为在线状态:

      online disk
      
  9. 查看磁盘和分区属性:

    • 查看分区或卷的属性:

      attributes volume
      
  10. 脚本操作:

    • 创建一个包含 Diskpart 命令的文本文件,例如 commands.txt,然后执行脚本:

      Diskpart /s commands.txt
      

这些示例演示了如何使用 Diskpart 进行磁盘管理操作。请谨慎操作,确保你了解每个命令的影响,特别是在删除或格式化分区时。磁盘操作可能会导致数据丢失,因此在进行任何重要操作之前,请备份重要数据。

chkdsk常用方法

chkdsk(磁盘检查)是Windows操作系统中的一个命令行工具,用于检查和修复硬盘驱动器上的文件系统错误和硬盘问题。以下是一些常用的chkdsk方法介绍:

  1. 运行基本的chkdsk

    chkdsk [驱动器名称]: 
    

    这将启动chkdsk来扫描指定驱动器上的文件系统,并报告任何发现的错误。通常,你需要以管理员权限运行此命令。

  2. 修复文件系统错误

    chkdsk [驱动器名称]: /f
    

    使用/f参数运行chkdsk可以修复检测到的文件系统错误。它会在扫描过程中尝试修复发现的问题。

  3. 扫描并修复坏扇区

    chkdsk [驱动器名称]: /r
    

    添加/r参数会扫描并尝试修复任何硬盘上的坏扇区。这个过程可能需要一些时间,特别是对于大容量硬盘。

  4. 强制卸载驱动器

    chkdsk [驱动器名称]: /x
    

    使用/x参数可以强制卸载指定驱动器,然后运行chkdsk。这通常用于系统驱动器,需要重新启动计算机以完成扫描和修复过程。

  5. 显示扫描进度

    chkdsk [驱动器名称]: /i
    

    添加/i参数可以显示chkdsk的扫描进度。这对于了解扫描的进展情况很有帮助。

  6. 将扫描结果保存到文件

    chkdsk [驱动器名称] > 文件路径.txt
    

    你可以将chkdsk的结果保存到一个文本文件中,以便稍后查看扫描报告。

  7. 检查系统驱动器

    chkdsk C: /f /r
    

    如果你要检查系统驱动器(通常是C:驱动器),可以使用/f/r参数一起运行chkdsk来修复文件系统错误和坏扇区。

请注意,运行chkdsk可能需要一些时间,特别是在大容量硬盘上或者在修复大量错误时。确保在运行chkdsk之前备份重要数据,以防意外数据丢失。同时,建议在执行磁盘维护操作之前关闭所有正在运行的应用程序。

python环境配置

系统版本

本次环境配置使用的香橙派系统为

Orangepi3-lts_3.0.8_ubuntu_jammy_desktop_xfce_linux5.16.17.7z

香橙派提供的ubantu系统常常分为两个版本desktop_xfce版本是带桌面版本,带桌面版本可以关闭桌面,得到和server版本大致相同的Linux命令行服务器版本

sudo orangepi-config

在这里插入图片描述

开始配置

这是一组关于在Linux系统上安装Python 3.8以及更改pip源的步骤。以下是每个步骤的解释:

1) 安装编译 Python 需要的依赖包
首先,您需要更新系统软件包列表,并安装编译Python所需的依赖包。这些包包括构建工具和Python的各种库,用于支持Python的不同功能和模块。

sudo apt-get update
sudo apt install -y build-essential zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
libreadline-dev libffi-dev curl libbz2-dev

以上是文档中的配置方法,我在配置Torch库时出现了

ModuleNotFoundError: No module named '_lzma'

我们需要在sudo apt-get update后先安装lzma依赖再编译python

apt-get install liblzma-dev -y
# centos系统执行
yum install xz-devel -y
yum install python-backports-lzma -y# ubuntu系统执行
apt-get install liblzma-dev -y

2) 下载最新版本的Python 3.8源码并解压
使用wget下载Python 3.8的源代码压缩文件,并使用tar命令解压缩它。

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar xvf Python-3.8.0.tgz

3) 运行配置命令
进入解压后的Python源代码目录并运行configure命令,以准备编译Python。–enable-optimizations标志用于启用编译时的优化。

cd Python-3.8.0
./configure --enable-optimizations

4) 编译安装Python 3.8
使用make命令编译Python。这可能需要一段时间,大约半个小时左右,具体时间取决于您的系统性能。

make -j4  # 使用-j标志以并行编译,数字4表示同时使用4个CPU核心
sudo make altinstall  # 使用altinstall以防止覆盖系统默认的Python版本

5) 检查Python版本
安装完成后,您可以使用以下命令来验证Python版本:

python3.8 --version

6) 更新pip
使用新安装的Python 3.8的pip来更新pip本身:

/usr/local/bin/python3.8 -m pip install --upgrade pip

7) 更换pip源的方法
在中国大陆等地区,访问Python官方源可能会较慢,因此更换pip源以提高下载速度是一个好主意。

永久更换pip源的方法:
a. 创建~/.pip目录并在其中创建pip.conf配置文件,并将源设置为清华源。

mkdir -p ~/.pip
cat <<EOF > ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF

b. 现在,使用pip3安装Python库时,将从清华源下载,速度会更快。

临时更换pip源的方法:
如果您只想为特定包更改pip源,可以使用以下命令,将<packagename>替换为您要安装的包名。

pip3 install <packagename> -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn

这将在临时情况下使用清华源来安装特定包。

运行包配置

打包方式基于
半自动化使用.bat手动打包迁移python项目

  • Python 3.8
  • OpenCV
  • Pytorch
  • dlib
  • gradio

这里我们同样通过创建虚拟环境实现一个干净的新环境进行测试

python3.8 -m venv venv 
source venv/bin/activate
python3.8 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip setuptools
pip install -i https://mirrors.aliyun.com/pypi/simple/ scipy==1.7.1
pip install -i https://mirrors.aliyun.com/pypi/simple/ numpy==1.24.4
pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib==3.4.3
pip install -i https://mirrors.aliyun.com/pypi/simple/ tqdm==4.62.2
pip install -i https://mirrors.aliyun.com/pypi/simple/ Pillow==10.0.2
pip install -i https://mirrors.aliyun.com/pypi/simple/ h5py==3.9.0
pip install -i https://mirrors.aliyun.com/pypi/simple/ gradio
pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python==4.5.3.56
pip install -i https://mirrors.aliyun.com/pypi/simple/ scikit-learn

torch

pip install torch==2.1.0 torchvision==0.16.0 torchaudio==0.9.0  -f https://download.pytorch.org/whl/torch_stable.html
解决过程

香橙派里存在可下载的torch1.7.1,但是我没找到适配的torch1.7.1+cu110
同时也下载不到torchvision0.8.2+cu110和 torchaudio0.7.2

pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

我尝试提升torch版本为torch==1.9.0,然后逐个适配torchvision和torchaudio此时版本匹配,但是运行是提示:

pip install torch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
Illegal instruction

原因: CPU 架构不匹配:程序被编译为针对一个不匹配的 CPU 架构而运行。
编译器问题:程序被使用了不兼容的编译器编译,或编译器安装有问题。 使用了不支持的指令:程序正在尝试执行一条不支持的 CPU 指令。
解决办法: 检查 CPU 架构:在运行程序之前,可以通过执行uname -a命令来查看 CPU 架构信息。如果程序是针对一个不兼容的 CPU
架构而编译的,应该使用与该架构兼容的目标平台重新编译程序。

这是常规官方解释,但我不懂CPU 架构版本匹配规则,即使使用:

uname -a

我也大概率无法解决问题

所以此时我让pip更新torch,它自动找到了适配版本

python3.8 -m pip install --upgrade torch

最终torch版本如下

pip install torch==2.1.0 torchvision==0.16.0 torchaudio==0.9.0 

dlib

方法一

安装 face_recognition 前首先需要安装下 dlib 这个库,由于 dlib 这个库在开发板上编译安装比较慢,我们使用在 gitee 上编译好的 dlib whl 文件,下载后直接安装就可以了。dlib whl 文件下载地址如下所示:
python_whl
你可以直接clone到桌面

git clone --depth=1 https://gitee.com/leeboby/python_whl

在 python_whl 文件夹中可以看到有多个版本的 dlib 安装包,dlib 不同版本
对应的 Linux 系统如下所示:
Ubuntu18.04 dlib-19.24.0-cp36-cp36m-linux_aarch64.whl
Ubuntu20.04 dlib-19.24.0-cp38-cp38-linux_aarch64.whl
Ubuntu22.04 dlib-19.24.0-cp310-cp310-linux_aarch64.whl
Debian10 dlib-19.24.0-cp37-cp37m-linux_aarch64.whl
Debian11 dlib-19.24.0-cp39-cp39-linux_aarch64.whl

我们使用

pip install dlib-19.24.0-cp38-cp38-linux_aarch64.whl
方法二

理论上你可以选择在
dlib官网源
直接下载得到例如dlib-19.19.0.tar.gz或其他版本的dlib然后

pip install dlib-19.19.0.tar.gz

你也可以

pip download dlib==19.19.0
pip install dlib-19.19.0.tar.gz

更新

python3.8 -m pip install --upgrade dlib

即可安装成功,但是板子性能不足,确实需要编译很久,建议使用方法一
该方法基于
全面横扫:dlib Python API在Linux和Windows的配置方案

运行你的代码

GUI.py可替换为任何你需要编译运行的.py文件

python3.8 GUI.py

你可以将完整文件传到Windows,然后这样打包你的代码
半自动化使用.bat手动打包迁移python项目

以上环境配置是我回忆的过程,若出现报红,请安装提示中的版本,过段时间我会格式化再配置一次。
当你无法解决问题时,
我建议优先使用最简单pip install自动匹配版本,
其次使用
python3.8 -m pip install --upgrade
来更新包到最新版,
最后使用pip安装可安装到的最旧的版本,配合pip uninstallpython3.8 -m pip install --upgrade
自动匹配版本逐个版本进行升级进行尝试

完整过程

sudo apt-get update
sudo apt-get install liblzma-dev -y
sudo apt install -y build-essential zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
libreadline-dev libffi-dev curl libbz2-dev
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar xvf Python-3.8.0.tgz
cd Python-3.8.0
./configure --enable-optimizations
make -j4  # 使用-j标志以并行编译,数字4表示同时使用4个CPU核心
sudo make altinstall  # 使用altinstall以防止覆盖系统默认的Python版本
python3.8 --version
/usr/local/bin/python3.8 -m pip install --upgrade pip
mkdir -p ~/.pip
cat <<EOF > ~/.pip/pip.conf
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF
python3.8 -m venv venv 
source venv/bin/activate
python3.8 -m pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade pip setuptools
pip install -i https://mirrors.aliyun.com/pypi/simple/ scipy==1.7.1
pip install -i https://mirrors.aliyun.com/pypi/simple/ numpy==1.24.4
pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib==3.4.3
pip install -i https://mirrors.aliyun.com/pypi/simple/ tqdm==4.62.2
pip install -i https://mirrors.aliyun.com/pypi/simple/ Pillow==10.0.2
pip install -i https://mirrors.aliyun.com/pypi/simple/ h5py==3.9.0
pip install -i https://mirrors.aliyun.com/pypi/simple/ gradio
pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python==4.5.3.56
pip install -i https://mirrors.aliyun.com/pypi/simple/ scikit-learn
pip install -i https://mirrors.aliyun.com/pypi/simple/ imutils
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
git clone --depth=1 https://gitee.com/leeboby/python_whl
pip install python_whl/dlib-19.24.0-cp38-cp38-linux_aarch64.whl
python3.8 GUI.py

总结

在香橙派上进行软件配置和环境搭建是为了使其能够运行Python应用程序。首先,我们介绍了下载相关软件的连接,包括操作系统和烧录工具。然后,我们详细说明了清空和分区重建TF卡的步骤,以便为开发板创建一个干净的存储设备。

此外,我们还提供了磁盘管理和修复文件系统问题的常用方法,使用了Diskpart和chkdsk工具。最后,我们介绍了Python环境配置的步骤,包括安装Python 3.8、更新pip、更换pip源以及安装各种Python库,以便在香橙派上运行Python应用程序。这些步骤将帮助用户准备好一个功能强大的开发环境,以便进行软件开发和项目实施。

相关文章:

【香橙派-OpenCV-Torch-dlib】TF损坏变成RAW格式解决方案及python环境配置

前言 本文将介绍在香橙派&#xff08;Orange Pi&#xff09;开发板上进行软件配置和环境搭建的详细步骤&#xff0c;以便运行Python应用程序。这涵盖了以下主要内容&#xff1a; 获取所需软件&#xff1a;提供了香橙派操作系统和balenaEtcher工具的下载链接&#xff0c;以确保…...

HDMI协议介绍(五)--Audio

基础知识 I2S(inter-IC sound bus)飞利浦公司制定的标准&#xff0c;既规定了硬件接口规范&#xff0c;也规定了数字音频数据格式。 硬件接口规范 I2S接口有3个主要信号&#xff1a; 时钟信号 Serial Clock 串行时钟SCK&#xff0c;也叫位时钟&#xff08;BCLK&#xff09;&…...

Centos7中安装Jenkins教程

1.必须先配置jdk环境&#xff0c;安装jdk参考 Linux配置jdk 2.先卸载Jenkins # rpm卸载 rpm -e jenkins # 检查是否卸载成功 rpm -ql jenkins # 彻底删除残留文件 find / -iname jenkins | xargs -n 1000 rm -rf 3.安装Jenkins 在 /usr/ 目录下创建 jenkins文件夹 mkdir -p je…...

十一、WSGI与Web框架

目录 一、什么是WSGI1.1 WSGI接口的组成部分1.2 关于environ 二、简易的web框架实现2.1 文件结构2.2 在web/my_web.py定义动态响应内容2.3 在html/index.html中定义静态页面内容2.4 在web_server.py中实现web服务器框架2.5 测试 三、让简易的web框架动态请求支持多页面3.1 修改…...

[idekCTF 2022]Paywall - LFI+伪协议+filter_chain

[idekCTF 2022]Paywall 一、解题流程&#xff08;一&#xff09;、分析&#xff08;二&#xff09;、解题 二、思考总结 一、解题流程 &#xff08;一&#xff09;、分析 点击source可以看到源码&#xff0c;其中关键部分&#xff1a;if (isset($_GET[p])) {$article_content…...

Python 自动化Web测试

限于作者水平有限&#xff0c;以下内容可能是管窥之见&#xff0c;希望大家高抬贵手&#xff0c;且让我斗胆抛砖引玉。 公司产品迪备主要是通过网页操作来进行数据库的备份与恢复&#xff0c;监控与管理&#xff0c;因此在测试的过程中&#xff0c;可以用python测试脚本来模拟…...

MM-Camera架构-Preview 流程分析

目录 文章目录 1 log开的好&#xff0c;问题都能搞2 lib3 preview3.1 打开视频流3.1.1 cpp\_module\_start\_session3.1.2 cpp\_thread\_create3.1.3 cpp\_thread\_funcsundp-3.1 cpp\_hardware\_open\_subdev(ctrl->cpphw)sundp-3.2 cpp\_hardware\_process\_command(ctrl-…...

科普文章|一文了解平行链及其优势

平行链是一种可以连接到更大规模的区块链网络&#xff08;波卡&#xff09;的独立区块链。不同于传统区块链&#xff08;如比特币和以太坊&#xff09;是孤立的并且无法在本地相互通信&#xff0c;平行链与其他平行链并行运行&#xff0c;并且相互可以无缝通信。平行链还使用波…...

Tomcat 9.0.41在IDEA中乱码问题(IntelliJ IDEA 2022.1.3版本)

1. 乱码的产生是由于编码和解码的编码表不一致引起的。 2. 排查乱码原因 2.1 在idea中启动Tomcat时控制台乱码排查 Tomcat输出日志乱码: 首先查看IDEA控制台&#xff0c;检查发现默认编码是GBK。 再查看Tomcat日志&#xff08;conf文件下logging.properties&#xff09;的默…...

在Kubernetes中实现gRPC流量负载均衡

在尝试将gRPC服务部署到Kubernetes集群中时&#xff0c;一些用户&#xff08;包括我&#xff09;面临的挑战之一是实现适当的负载均衡。在深入了解如何平衡gRPC的方式之前&#xff0c;我们首先需要回答一个问题&#xff0c;即为什么需要平衡流量&#xff0c;如果Kubernetes已经…...

Floorplanning with Graph Attention

Floorplanning with Graph Attention DAC ’22 目录 Floorplanning with Graph Attention摘要1.简介2.相关工作3.问题公式化4. FLORA的方法4.1 解决方案概述4.2 C-谱聚类算法 4.3 基于GAT的模型4.4 合成训练数据集生成 摘要 布图规划一直是一个关键的物理设计任务&#xff0…...

centos7 配置coreboot编译环境 以及编译问题解决

需要的配置 (有的资源在国外可能需要翻墙) 操作系统: centos7.9 参考文章 coreboot源码分析之编译和运行coreboot - 知乎 //coreboot编译总说明 https://www.coreboot.org/Build_HOWTO#Requirements https://poe.com/ChatGPT 注意: 因为github不稳定 所以gitee为主 1. 下载…...

大型语言模型:RoBERTa — 一种鲁棒优化的 BERT 方法

一、介绍 BERT模型的出现导致了NLP的重大进展。BERT的架构源自Transformer&#xff0c;在各种下游任务上实现了最先进的结果&#xff1a;语言建模&#xff0c;下一句预测&#xff0c;问答&#xff0c;NER标记等。 大型语言模型&#xff1a;BERT — 来自变压器的双向编码器表示 …...

解析navicate数据库密码

在线运行地址:代码在线运行 - 在线工具 <?php class NavicatPassword {protected $version 0;protected $aesKey libcckeylibcckey;protected $aesIv libcciv libcciv ;protected $blowString 3DC5CA39;protected $blowKey null;protected $blowIv null;public func…...

mysql字段类型与oracle字段类型对应关系

MySQL与Oracle两种数据库在工作中&#xff0c;都是用的比较多的数据库&#xff0c;由于MySQL与Oracle在数据类型上有部分差异&#xff0c;在我们迁移数据库时&#xff0c;会遇上一定的麻烦&#xff0c;下面介绍MySQL与Oracle数据库数据类型的对应关系。 一、常见数据类型在MyS…...

linux 中 tar \ zip 解压错误后撤回

#zip zipinfo -1 path/xx.zip | xargs rm -rf#tar tar -tf xx.tar | xargs rm -rf...

对象图 UML从入门到放弃之四

1.劝退说明 对象图提供了系统在某个特定时刻的状态快照。这是一种有用的描述系统的方法&#xff0c;当系统的结构是动态构建起来而不是由其静态的类结构决定时&#xff0c;更是如此。不过&#xff0c;应该对画太多的对象图保持警惕。在大部分情况下&#xff0c;它们都可以从相应…...

FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

目录 1、前言免责声明 2、我目前已有的SDI编解码方案3、设计思路框架核模块解析设计框图IT6802解码芯片配置及采集ADV7611解码芯片配置及采集silicon9011解码芯片配置及采集纯verilog的HDMI 解码模块RGB888转YUV422SPMTE编码SDI模式图像缓存SPMTE SDIGTXGV8500 4、vivado工程1-…...

针对FTP的SSRF攻击

前言 ssrf中常用的协议有http&#xff0c;gopher等。但http协议在ssrf中的用处也仅限于访问内网页面&#xff0c;在可以crlf的情况下才有可能扩大攻击范围。gopher协议比较特殊&#xff0c;在部分环境下支持此协议&#xff0c;如&#xff1a;curl。但还有一些环境就不支持了&a…...

线性代数中涉及到的matlab命令-第一章:行列式

目录 1&#xff0c;逆序数 2&#xff0c;行列式定义和性质 2.1&#xff0c;常用特性及命令 2.2&#xff0c;求行列式 2.3&#xff0c;行列式的性质 2&#xff0c;行列式按行&#xff08;列&#xff09;展开 3&#xff0c;范德蒙德行列式 在学习线性代数过程中&#…...

QT编程,QT内存管理、信号与槽、

目录 一、QT工具 二、QT内存管理 三、信号与槽 1、信号与槽特点 2、信号 3、槽函数 4、连接 5、发送信号 6、取消连接 一、QT工具 1、Qt Designer&#xff1a;界面设计编辑工具 2、Qt Assistant: Qt技术文档浏览器 3、Qt Linguist: 国际化语言翻译工具 4、…...

springcloud之项目实战环境准备

写在前面 为了更好的学习springcloud&#xff0c;我们来一起开发一个实战项目&#xff0c;加深理解。 1&#xff1a;项目介绍 在开始项目实战之前先来做一个整体的项目介绍&#xff0c;从而能够让对项目的整体架构和模板有一个比较清晰的认知。 大家都知道双11&#xff0c;…...

Linux 部署 MinIO 分布式对象存储 配置为 typora 图床

前言 MinIO 是一款高性能的对象存储系统&#xff0c;它可以用于大规模的 AI/ML、数据湖和数据库工作负载。它的 API 与Amazon S3 云存储服务完全兼容&#xff0c;可以在任何云或本地基础设施上运行。MinIO 是开源软件&#xff0c;也提供商业许可和支持 MinIO 的特点有&#x…...

JVM Optimization Learning(四)

目录 一、调优 1、基础概念 2、什么是调优&#xff1f; 3、调优&#xff0c;从规划开始 4、调优案例 一、调优 1、基础概念 吞吐量&#xff1a;用户代码执行时间 /&#xff08;用户代码执行时间 垃圾回收时间&#xff09; 响应时间&#xff1a;STW越短&#xff0c;响应…...

新华三辅导笔记 2023/10/9-2023/10/13

新华三辅导笔记 一、需要用到的软件二、计算机网络概述1、计算机网络的定义和基本功能&#xff08;1&#xff09;什么是计算机网络&#xff08;2&#xff09;计算机网络的基本功能 2、&#xff08;1&#xff09;局域网、城域网和广域网&#xff08;范围划分&#xff09;&#x…...

边坡安全监测系统的功能优势

随着科技的进步&#xff0c;边坡安全监测系统在各种工程项目中发挥着越来越重要的作用。这款系统通过实时监测垂直、水平位移数据&#xff0c;以折线图的方式显示在监控平台中&#xff0c;为工程人员提供了直观、便捷的监控工具&#xff0c;从而能够及时掌握边坡稳定状况&#…...

【架构】研发高可用架构和系统设计经验

研发高可用架构和系统设计经验 从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用的系统需要有哪些关键的设计和考虑。 一、高可用架构和系统设计思想 1.可用性和高可用概念 可用性是一个可以量化的指标,计算的公…...

Linux线程安全

线程安全 Linux线程互斥进程线程间的互斥相关背景概念互斥量mutex互斥量的接口互斥量实现原理探究 可重入VS线程安全概念常见的线程不安全的情况常见的线程安全的情况常见的不可重入的情况常见的可重入的情况可重入与线程安全联系可重入与线程安全区别 常见锁概念死锁死锁的四个…...

Windows安装Node.js

1、Node.js介绍 ①、Node.js简介 Node.js是一个开源的、跨平台的JavaScript运行环境&#xff0c;它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括&#xff1a; 1. 事件驱动: Node.js采用了事件驱动的编程模型&#xff0c;通…...

想要开发一款游戏, 需要注意什么?

开发一款游戏是一个复杂而令人兴奋的过程。游戏开发是指创建、设计、制作和发布电子游戏的过程。它涵盖了从最初的概念和创意阶段到最终的游戏发布和维护阶段的各个方面。 以下是一些需要注意的关键事项&#xff1a; 游戏概念和目标&#xff1a; 确定游戏开发的核心概念和目标…...