苗木公司网站模板/佛山网站搜索排名

苗木公司网站模板,佛山网站搜索排名,简洁网站欣赏,做旅游网站能成功前言 技术架构 单机架构 应用数据分离架构 应用服务集群架构 读写分离/主从分离架构 写入主的时候,要同步Mysql从的数据才可以 冷热分离架构 写的时候要写入主和缓存数据库 读的时候先去缓存看有没有,没有的话就去从数据库读数据 主要就是看这个数据是…

前言

技术架构

在这里插入图片描述

单机架构

在这里插入图片描述

应用数据分离架构

在这里插入图片描述

应用服务集群架构

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

读写分离/主从分离架构

在这里插入图片描述
在这里插入图片描述
写入主的时候,要同步Mysql从的数据才可以

冷热分离架构

在这里插入图片描述
在这里插入图片描述
写的时候要写入主和缓存数据库
读的时候先去缓存看有没有,没有的话就去从数据库读数据
主要就是看这个数据是冷门的还是热门的了
缓存数据库就是redis

在这里插入图片描述
这个热点的返回数据非常快
缺点就是万一一个表数据太多了,有千万级别,那么一个数据库存的数据就太多了

垂直分库架构

在这里插入图片描述
就是分库分表
在这里插入图片描述
可以用mycat,tddl来分库分表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们可以直接用分布式数据库了
在这里插入图片描述

最下面的都是集群的东西

数据库都采用了集群化

缺点就是:我们改代码的时候就要停服,重新发布版本

微服务架构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

容器编排架构

在这里插入图片描述
在这里插入图片描述
容器与容器之间不会冲突

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果没有k8s的话,就会布置很多微服务,要把jar包布置6份
有k8s,直接一键式布置这6个微服务,只需要一份,就可以一键式

不然就要慢慢布置了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实战架构

在这里插入图片描述

Docker使用

容器技术发展史

jail时代

云时代
云:分布式的
隔离已经用Linux实现了
资源隔离
解决海量数据处理

云原生时代:k8s,docker

在这里插入图片描述

虚拟化与容器化

笔记本电脑就是物理机

一台操作系统上装了很多操作系统就是虚拟化
虚拟化出来的叫做虚拟机

容器化:就是虚拟的软件层,操作系统的虚拟化,虚拟化的一种

docker是容器化的一种

虚拟化容器化优点:资源利用率高,因为划的很细
环境一致性
资源可以弹性收缩
物理机上可以装不同的操作系统,环境不同
容器比虚拟机启动更快
docker不需要虚拟内核,相当于不用开机了
而且很容易维护和扩展
在这里插入图片描述
应用程序执行环境分层

容器是虚拟化的操作系统

虚拟化常见类别
:虚拟机:伪造的硬件层
:JVM:伪造应用程序层和函数库层

常见虚拟化实现:
主机虚拟化实现:模拟了所有的硬件
容器虚拟化实现
在这里插入图片描述
在这里插入图片描述
这就是主机虚拟化
就是在物理服务器上安装了一个软件,一个虚拟化层,变成可视化的了

容器虚拟化实现

实现原理:操作系统层的虚拟化
在这里插入图片描述
容器是轻量级的
而且容器之间是不影响的
资源之间是隔离的

Namespace

在这里插入图片描述
可以只让A进程只看到A的资源,B进程只看到B的资源

在这里插入图片描述
这些就是隔离的内核资源

意思就是就算是两个进程运行在同一个主机上,但是可以有不同的主机名和域名

两个进程看到的都是80端口
但是却不是同一个端口

在这里插入图片描述

NameSpace实战基础知识

dd命令

在这里插入图片描述
在这里插入图片描述
if=文件名 ------》输入文件名

of=文件名 ------》输出文件名
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
sync:将每个输入块填充到ibs个字节,不足部分用空NUL字符补齐

在这里插入图片描述

生成镜像文件

在这里插入图片描述
我们这个是输入文件
dev/zero是系统的一个特殊的文件设备,它会连续不断地产生空白字符流
在这里插入图片描述
生成一个空白的镜像文件

bs就是指定大小
count就是产生文件数量
在这里插入图片描述
在这里插入图片描述
这样我们就产生了空白的文件
加上 -h 选项后,文件大小会以更直观的单位(如 KB、MB、GB 等)来展示

在这里插入图片描述
这样就生成了80M的文件
转换为大写
在这里插入图片描述
dd if=in.txt of=out.txt conv=ucase

在这里插入图片描述
dd就是完成一个读取转换输出的操作

mkfs

用于在设备上创建Linux文件系统,俗称格式化,比如我们使用 U盘的时候可以格式化。

语法

mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
• 参数

-t fstype:指定要建立何种文件系统;如ext3,ext4 —》磁盘类型ext4 用的比较多
filesys :指定要创建的文件系统对应的设备文件名;
blocks:指定文件系统的磁盘块数。 -V : 详细显示模式
fs-options:传递给具体的文件系统的参数
-v 表示显示详情
• 实例
#将sda6 分区格式化为ext4格式
mkfs -t ext4 /dev/sda6
#格式化镜像文件为ext4
mkfs -t ext4 ./fdimage.img
把我们镜像的文件格式化为磁盘

mkfs -t ext4 ./test.img
在这里插入图片描述
这样就完成了

这个命令就是把硬盘u盘或者空白文件格式化
就是创建了一个指定的Linux文件系统

df

df 命令详解
Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使
用情况统计。
• 语法
df [OPTION]… [FILE]…----》看这个目录的文件占有情况
• 常见参数
○ -a, --all 包含所有的具有 0 Blocks 的文件系统
○ -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的…)
○ -H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
○ -t, --type=TYPE 限制列出文件系统的 TYPE
○ -T, --print-type 显示文件系统的形式
• 案例
#查看磁盘使用情况
df -h
#查看磁盘的系统类型
df -Th

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
指定要ext4类型的
在这里插入图片描述
打印了类型
df -T /data
这样就是指定目录下的文件系统的详细信息
在这里插入图片描述
H与h就是容量的单位变了

mount

mount 命令详解
mount 命令用于加载文件系统到指定的加载点(相当于查u盘的时候,添加了一个盘,windows是自动挂载上去的)。此命令的也常用于挂载光盘,使我们
可以访问光盘中的数据,因为你将光盘插入光驱中,Linux 并不会自动挂载,必须使用
Linux mount 命令来手动完成挂载。
Linux 系统下不同目录可以挂载不同分区和磁盘设备,它的目录和磁盘分区是分离的,
可以自由组合(通过挂载)
不同的目录数据可以跨越不同的磁盘分区或者不同的磁盘设备。
挂载的实质是为磁盘添加入口(挂载点)。
• mount 常见用法
mount [-l]
mount [-t vfstype] [-o options] device dir
• 常见参数
-l:显示已加载的文件系统列表;
-t: 加载文件系统类型支持常见系统类型的 ext3,ext4,iso9660,tmpfs,xfs 等,大部分情况
可以不指定,mount 可以自己识别
-o options 主要用来描述设备或档案的挂接方式。
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
device: 要挂接(mount)的设备。就是u盘的文件系统,相当于u盘
dir: 挂载点的目录,挂在哪个目录下面,挂载u盘的地方
• 案例
#将 /dev/hda1 挂在 /mnt 之下。
mount /dev/hda1 /mnt
#将镜像挂载到/mnt/testext4 下面,需要确保挂载点也就是目录存在
mkdir -p /mnt/testext4
mount ./fdimage.img /mnt/testext4

挂载之前需要一个文件系统,就是磁盘
在这里插入图片描述

我们可以格式化一下test.img
在这里插入图片描述
这个问的是已经有了一个ext4的文件系统
这样就格式化成功了
这样就是一个空白的文件系统了
就可以挂载了

挂载到某个目录就要先创建这个目录
在这里插入图片描述
mount ./test.img /data/testmymount/
这个就是把./test.img挂载到/data/testmymount/
在这里插入图片描述
df -h就可以查看了

在这里插入图片描述
这样我们就把一个空白的镜像文件,挂载成了一个磁盘
然后这个磁盘可以正常的读写

unshare

unshare 命令详解
unshare 主要能力是使用与父程序不共享的名称空间运行程序。就是不共享Namespace
• 语法
unshare [options] program [arguments]
program 是具体的程序–》与父程序不共享命名空间
options是参数
• 常用参数
参数 含义
-i, --ipc 不共享 IPC 空间,进程间通信
-m, --mount 不共享 Mount 空间,文件系统
-n, --net 不共享 Net 空间,网络
-p, --pid 不共享 PID 空间,进程
-u, --uts 不共享 UTS 空间,主机名,网络名
-U, --user 不共享用户,用户信息
-V, --version 版本查看,
–fork 执行 unshare 的进程 fork 一个新的子进程,在子进
程里执行 unshare 传入的参数。启动一个新的子进程,而不是让现在这个进程作为父进程

–mount-proc 执行子进程前,将 proc 目录优先挂载过去
在这里插入图片描述
proc 目录下有很多进程,不写这个的话就会看到proc下的所有进程信息

• 案例
#hostname 隔离
root@139-159-150-152:~# unshare -u /bin/bash
root@139-159-150-152:~# hostname test1
root@139-159-150-152:~# hostname
test1
root@139-159-150-152:~# exit
exit
root@139-159-150-152:~# hostname
139-159-150-152
root@139-159-150-152:

我们用的主机隔离
unshare -u /bin/bash
在这里插入图片描述
bash是一个程序

现在已经进入了一个子进程的命令空间了

hostname test1
指定主机名
在这里插入图片描述
这个是查看主机名

我们在启动一个xshell

在这里插入图片描述
可以看到主机名不是新的
在这里插入图片描述
这里退出的是子进程

在这里插入图片描述
我们发现名字又变回去了

注意如果要显示ip的话
就是要写hostname -I

所以unshare就是做到了命名空间的隔离

PID隔离

  1. 在主机上执行 ps -ef,可以看到进程列表如下,其中启动进程 PID 1 为 init 进程
  2. 我们打开另外一个 shell ,执行下面命令创建一个 bash 进程,并且新建一个 PID
    Namespace:
    –fork 新建了一个 bash 进程,是因为如果不建新进程,新的 namespace 会用 unshare
    的 PID 作为新的空间的父进程,而这个 unshare 进程并不在新的 namespace 中,所
    以会报个错 Cannot allocate memory
    –pid 表示我们的进程隔离的是 pid,而其他命名空间没有隔离
    mount-proc 是因为 Linux 下的每个进程都有一个对应的 /proc/PID 目录,该目录包含
    了大量的有关当前进程的信息。 对一个 PID namespace 而言,/proc 目录只包含当前
    namespace 和它所有子孙后代 namespace 里的进程的信息。创建一个新的 PID
    namespace 后,如果想让子进程中的 top、ps 等依赖 /proc 文件系统的命令工作,还
    需要挂载 /proc 文件系统。而文件系统隔离是 mount namespace 管理的,所以 linux
    特意提供了一个选项–mount-proc 来解决这个问题。如果不带这个我们看到的进程还
    是系统的进程信息。
    Shell
    unshare --fork --pid --mount-proc /bin/bash
  3. 执行 ps -ef 查看进程信息,我们可以看到此时进程空间内的内容已经变了,而且
    启动进程也变成了我们的 bash 进程。说明我们已经看不到主机上的进程空间了,我们
    的进程空间发生了隔离。
    4.执行 exit 退出进程

在这里插入图片描述
这里报了一个错
因为我们这里的父进程是shell,它有PID
shell内部新启动的bash进程,看不见shell的信息,因为PID已经发生了隔离,因为是shell
所以bash启动的时候,没有自己的父进程,因为已经隔离了,就会报这个错
如果要正常运行的话,就要床加你一个全新的进程
加一个参数,让你和启动你的这个进程没有什么关系
先exit退出

在这里插入图片描述
unshare -p --fork /bin/bash

这样就完成了PID的隔离了

接下来我们来看我们启动的新进程和我们宿主机上的进程是否一样
启动的新进程就是bash

我们再打开另一个xshell

两个均执行ps-ef

在这里插入图片描述
在这里插入图片描述
我们可以发现进程是一样的说明进程并没有隔离

因为proc目录下有很多进程的PID
执行ps -ef的时候
全部都列了出来
这时候就要用–mount-proc这个了
这个就是执行子进程前,先把proc目录挂载在过去
挂载过去之后,我们的proc目录就没有这些现有的信息了

再次exit

unshare -p --fork --mount-proc /bin/bash

在这里插入图片描述
可以发现现在的proc目录下的进程id就很少了

原来的是很多的

现在在执行ps -ef
在这里插入图片描述

在这里插入图片描述
看的PID为一的就是我们自己指定的程序

这样就实现了PID的隔离

-p表示隔离pid
–fork表示我们要启动新的一个进程

Mount 隔离

  1. 打开第一个 shell 窗口 A,执行命令, df -h ,查看主机默认命名空间的磁盘挂载情
  2. 打开一个新的 shell 窗口 B,执行 Mount 隔离命令
  3. 在窗口 B 中添加新的磁盘挂载
  4. 在窗口 B 挂载的磁盘中添加文件
  5. 查看窗口 B 中的磁盘挂载信息
  6. 查看窗口 A 中的磁盘挂载信息
  7. 查看窗口 B 中的文件信息
  8. 查看窗口 A 中的文件信息,可以看到窗口 B 中新建的文件和磁盘挂载在主机的窗
    口中并没有,说明我们实现了文件系统隔离。
  9. 窗口 B 执行 exit,退出

我们先创建一个mount隔离的进程
unshare --mount --fork /bin/bash
在进程里面创建一个空白文件
dd if=/dev/zero of=data2.img bs=8k count=10240
在这里插入图片描述

然后挂载为一个磁盘–》挂载点
先格式化
mkfs -t ext4 ./data2.img
在这里插入图片描述
然后就是挂载了

在这里插入图片描述
这是我们全部的挂载点

挂载之前我们还要先指定我们挂在点目录

mkdir -p /data/maxhou/data2mount
然后开始挂载
mount -t ext4 ./data2.img /data/maxhou/data2mount/
在这里插入图片描述
这样就挂载成功了
df -h

在这里插入图片描述
这样就说明了我们完成了data2mount的挂载点的创建了

然后我们在外面能不能看见这个挂载点

df -h

在这里插入图片描述
这个就说明了我们创建的挂载点在外面是看不到的,这就是mount隔离
我们在这个挂载点里面写文件
外面都看不见的

在这里插入图片描述
在这里插入图片描述

可以发现文件根本找不到,但是目录确实可以找到的
这个磁盘的挂载点也是看不见的

往里面放文件别人就看不见了

删除挂载点

使用 umount 命令
语法格式:umount [选项] 挂载点或umount [选项] 设备。例如要卸载/mnt/data这个挂载点,可以执行umount /mnt/data。如果知道挂载的设备,也可以使用umount /dev/sdb1来卸载,前提是/dev/sdb1对应的挂载点没有被其他进程占用。
常用选项
-l:lazy unmount,即延迟卸载。如果设备忙,它会将卸载操作推迟到设备不再忙的时候。
-f:强制卸载,一般在正常卸载失败时使用,但可能会导致数据丢失或文件系统损坏,需谨慎使用。

在这里插入图片描述
值得注意的就是,这个挂载点是从根目录开始设置的
与当前所在文件没有关系

在这里插入图片描述
当你在执行 rm -fr data 命令时遇到 rm: cannot remove ‘data/testmymount’: Device or resource busy 错误,这表明 data/testmymount 是一个挂载点,并且当前有进程正在使用该挂载点上的资源,所以无法直接删除它。你可以按照以下步骤解决这个问题:

  1. 确定挂载信息
    使用 mount 命令查看系统的挂载信息,确认 data/testmymount 是否为挂载点以及挂载的设备。
    mount | grep data/testmymount
    这个命令会过滤出与 data/testmymount 相关的挂载信息,你可以从中了解到挂载的设备(例如 /dev/sdb1)等详细内容。
  2. 找出占用挂载点的进程
    使用 lsof 命令找出正在使用该挂载点的进程:
    lsof +D data/testmymount
    该命令会列出所有正在访问 data/testmymount 目录及其子目录的进程。你会看到输出中包含进程的 PID(进程 ID)、进程名等信息。
  3. 终止占用挂载点的进程
    根据上一步得到的 PID,使用 kill 命令终止这些进程。例如,如果 PID 为 1234 的进程正在占用挂载点,你可以执行:
    kill 1234
    如果该进程无法正常终止,可以使用强制终止的方式:
    kill -9 1234
    不过,使用 -9 选项强制终止进程可能会导致数据丢失或其他问题,所以要谨慎使用。
  4. 卸载挂载点
    在终止所有占用挂载点的进程后,使用 umount 命令卸载挂载点:
    umount data/testmymount

如果卸载时仍然提示设备忙,可以尝试使用 umount -l 进行延迟卸载:
umount -l data/testmymount

-l 选项会将卸载操作推迟到挂载点不再被使用时执行。
5. 删除目录
在成功卸载挂载点后,你就可以安全地删除 data 目录了:
rm -fr data

通过以上步骤,你应该能够解决因挂载点被占用而无法删除目录的问题。

总结

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

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

相关文章

蓝耘智算 + 通义万相 2.1:为 AIGC 装上 “智能翅膀”,翱翔创作新天空

1. 引言:AIGC 的崛起与挑战 在过去几年中,人工智能生成内容(AIGC)技术突飞猛进。AIGC 涉及了文本生成、图像创作、音乐创作、视频制作等多个领域,并逐渐渗透到日常生活的方方面面。传统的内容创作方式已经被许多人类创…

行为模式---中介者模式

概念 中介者模式是一种行为模式, 他的核心思想是通过引入一个中介者对象,将多个对象之间的复杂交互逻辑统一管理。每个对象只需要与中介者通信,而不需要直接与其他对象交互,从而降低系统的耦合度。 适用场景 对象之间交互复杂&…

百度移动生态事业群聚焦UGC战略,贴吧迎新调整

易采游戏网3月8日独家消息:近日据内部消息人士透露,百度移动生态事业群正积极将用户生成内容(UGC)作为新的战略重点。此举标志着百度对UGC价值的重视与重塑,同时也预示着其旗下重要平台——百度贴吧将迎来一轮重大的调…

【前端】【webpack-dev-server】proxy跨域代理

参考:https://www.bilibili.com/video/BV1c5SnYZEnZ?spm_id_from333.788.videopod.episodes&vd_source65c8707649747fd67b232866b69a5ebd&p138

批量在 Word 的指定位置插入页,如插入封面、末尾插入页面

我们经常会碰到需要在 Word 文档中插入新的页面的需求,比如在 Word 文档末尾插入一个广告页、给 Word 文档插入一个说明封面,在 Word 文档的中间位置插入新的页面等等。相信这个操作对于大部分小伙伴来说都不难,难的是同时给多个 Word 文档插…

在Windows 11的WSL中安装Kali Linux

Kali Linux 是网络安全从业者和爱好者的首选工具集,但直接在物理机或虚拟机上运行可能占用较多资源。借助 Windows Subsystem for Linux (WSL),我们可以在Windows 11中原生运行Kali Linux,轻量且高效。本教程将手把手教你如何在WSL2中安装并配…

Flow Size Prediction with Short Time Gaps

Flow Size Prediction with Short Time Gaps 网络流量预测新突破:微秒级短流预测的可行性分析 在当今数据中心和云计算环境中,网络流量的精准预测是优化资源分配、实现智能负载均衡的关键。传统流量和预测聚焦于长时间间隔(如秒级或分钟级&…

数学建模:MATLAB强化学习

一、强化学习简述 强化学习是一种通过与环境交互,学习状态到行为的映射关系,以获得最大积累期望回报的方法。包含环境,动作和奖励三部分,本质是智能体通过与环境的交互,使得其作出的动作所得到的决策得到的总的奖励达…

19. 大数据-技术生态简介

文章目录 前言一、Hadoop介绍1. 简介2. Hadoop发展史3. Hadoop现状 二、Hadoop特性1. Hadoop国外应用2. Hadoop国内应用 三、Hadoop架构变迁1. 发行版本2. Hadoop架构变迁(1.0-2.0变迁)3. Hadoop架构变迁(3.0新版本)4. 综述 四、技术生态体系 前言 大数据(Big Data…

DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例3: 行选择

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

用数据唤醒深度好眠,时序数据库 TDengine 助力安提思脑科学研究

在智能医疗与脑科学快速发展的今天,高效的数据处理能力已成为突破创新的关键。安提思专注于睡眠监测与神经调控,基于人工智能和边缘计算,实现从生理体征监测、智能干预到效果评估的闭环。面对海量生理数据的存储与实时计算需求,安…

SQL_语法

1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…

仿12306项目(4)

基本预定车票功能的开发 对于乘客购票来说,需要有每一个车次的余票信息,展示给乘客,供乘客选择,因此首个功能是余票的初始化,之后是余票查询,这两个都是控台端。对于会员端的购票,需要有余票查询…

第十二届蓝桥杯 异或数列

原题: https://www.acwing.com/problem/content/3424/ 题目大意: A、B两人的数初始值均为0,他们轮流从X数组中取数,可以将该数与自己的数或对方的数进行异或操作,A先手,当X中的数被取完的时候谁的数大谁…

高效编程指南:PyCharm与DeepSeek的完美结合

DeepSeek接入Pycharm 前几天DeepSeek的充值窗口又悄悄的开放了,这也就意味着我们又可以丝滑的使用DeepSeek的API进行各种辅助性工作了。本文我们来聊聊如何在代码编辑器中使用DeepSeek自动生成代码。 注:本文适用于所有的JetBrains开发工具&#xff0c…

项目中同时使用Redis(lettuce)和Redisson的报错

温馨提示:图片有点小,可以放大页面进行查看... 问题1:版本冲突 直接上图,这个错表示依赖版本不匹配问题,我本地SpringBoot用的是2.7,但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…

clickhouse安装路径

《ClickHouse安装路径指南》 大家好,今天我们将一起学习如何在电脑上找到和理解ClickHouse的安装路径。这将帮助学生、科研人员以及任何对数据库技术感兴趣的人更好地管理他们的数据查询工作。 ClickHouse是一款列式存储数据库管理系统(DBMS&#xff09…

时序数据库 InfluxDB 3.0 版本性能实测报告:写入吞吐量提升效果验证

亮点总结: TSBS 测试表明,对于少于 100 万台设备的数据集,InfluxDB OSS 3.0 的数据写入速度实际上比 InfluxDB OSS 1.8 更慢。 对于 100 万台及以上设备的数据集,InfluxDB OSS 3.0 的数据写入性能才开始超过 InfluxDB OSS 1.8。…

AS32X601双核锁步MCU技术优势分析

AS32X601是国科安芯公司研制的一系列基于32位RISC-V指令集车规级MCU处理器芯片。主频高达180MHz,支持双核锁步架构,基于软错误防护技术加持,显著提高芯片安全性能。产品具有高安全、低失效、多IO、低成本、抗辐照等特点。 一、功能安全与可靠…

基于 LeNet 网络的 MNIST 数据集图像分类

1.LeNet的原始实验数据集MNIST 名称:MNIST手写数字数据集 数据类型:灰度图 (一通道) 图像大小:28*28 类别数:10类(数字0-9) 1.通过torchvision.datasets.MNIST下载并保存到本地…