linux面试高级篇
题目目录
- 1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?
- 2. Dockerfile中最常见的指令是什么?
- 3.docker网络模式有哪些?
- 4.Kubernetes有哪些核心组件这些组件负责什么工作?
- 5. Pod是什么?
- 6.描述一下Pod的生命周期有哪些状态?
- 7.创建一个Pod会发生什么事?
- 8.删除一个Pod会发生什么事情?
- 9.k8s的Service是什么?
- 10.k8s是怎么进行服务注册的?
- 11.什么是Kubelet?
- 12.云计算和虚拟化的关系是什么
- 13.云计算有哪些分类
- 14.公有云、私有云、混合云
- 15.KVM虚拟机常用管理命令
- 16.虚拟机磁盘技术中的 ROW 指的是什么
- 17.ELK三大组件以及其各自的作用
- 18.简述logstash的配置区域及其用途
- 19.简要说明Elasticsearch数据的组织存储方式
- 20.简述elasticsearch集群插件head的用途
- 21.如何对Elasticsearch数据库进行增删改查
- 22.查询Elasticsearch状态信息的 API 怎么使用?
- 23.filebeat是什么,主要优势是什么
- 24.kibana是什么
- 25.如何区分filebeat转发来的不同类型的数据
- 26.Docker与虚拟机相比有哪些优势
- 27.熟练掌握镜像管理命令
- 28.熟练掌握容器管理命令
- 30.简述Dockerfile中常见命令关键字并说明用途
- 31.如何查看私有仓库中的镜像和标签
- 32.容器卷有什么用途
- 33.如何限制容器使用的物理机资源
- 34.安装部署容器服务,内核需要支持哪些技术
- 35.如何实现多个不同容器内的服务相互调用
- 36.容器内的服务如何发布出来
1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?
有桥接模式、隔离模式、NAT模式、路由模式。
桥接模式:Guest与Host连接到同一个交换机上;通过桥接物理网卡,相当于直连到Host所在网络。
隔离模式:允许Guest访问同一虚拟交换机上的其他Guest;但是不能访问Host所在的外部网络。
NAT模式(默认):将Guest虚拟机的默认网关指向Host物理机的virtbr0接口的IP地址;Guest共享真机
的网络连接,以地址转换的方式访问外网。
路由模式:由Host物理机充当路由器,开启转发;需要额外设置外网与Guest虚拟机之间互访的路由条
目,Guest以路由转发的方式访问外网(需要在真机配置iptables规则)。
2. Dockerfile中最常见的指令是什么?
FROM指定基础镜像。
ENV key=value环境变量。
COPY拷贝本地文件到容器镜像。
ADD拷贝本地或远程URL文件到容器镜像。
RUN在build时运行命令。
CMD在docker run时运行的默认命令,如果有多个,仅最后一个有效。
如果docker run 镜像 命令,指定了运行容器的命令,则CMD的命令会被覆盖。
An ENTRYPOINT allows you to configure a container that will run as an executable。
ENTRYPOINT将容器做为一个可执行体运行,如果docker run 镜像后面有东西,则全部做为
ENTRYPOINT的参数处理,如果docker run 镜像后面没有东西,但是CMD定义了内容,则CMD定义的
内容全部做为ENTRYPOINT的参数。
3.docker网络模式有哪些?
host模式 -net=host 容器和宿主机共享nework namespace
container -net=container:name_or_ID 容器和另外一个容器共享Network namespace。 kubernetes
中的pod就是多个容器共享一个Network namespace。
none模式 –net=none 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配
veth pair 和网桥连接,配置IP等。
bridge模式 –net=bridge (默认为该模式)
当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连
接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连
在了一个二层网络中。
4.Kubernetes有哪些核心组件这些组件负责什么工作?
etcd:提供数据库服务保存了整个集群的状态
kube-apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
kube-controller-manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
cloud-controller-manager:是与底层云计算服务商交互的控制器
kub-scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上
kubelet:负责维护容器的生命周期,同时也负责Volume和网络的管理
kube-proxy:负责为Service提供内部的服务发现和负载均衡,并维护网络规则
container-runtime:是负责管理运行容器的软件,比如docker
5. Pod是什么?
Pod是Kubernetes中最小的单元,它由一组、一个或多个容器组成,每个Pod还包含了一个Pause容器,Pause容器是Pod的父容器,主要负责僵尸进程的回收管理,通过Pause容器可以使同一个Pod里面的多个容器共享存储、网络、PID、IPC等。
6.描述一下Pod的生命周期有哪些状态?
status 属性里面有一个phase字段记录了Pod的状态正常情况下启动一个新Pod的过程如下:
Pending表示Pod已经被同意创建,正在等待kube-scheduler选择合适的节点创建,一般是在准备镜像
Running表示Pod中所有容器已经被创建,并且至少有一个容器正在运行或者是正在启动或者正在重启
Succeeded表示所有容器已经成功终止,且不会再启动
Failed表示Pod中所有容器都是非0状态退出
Unknown表示无法读取Pod状态通常是kube-controller-manager无法与Pod通信
7.创建一个Pod会发生什么事?
1、客户端提交Pod的配置信息(可以是Deployment定义好的信息)到kube-apiserver,kubeapiserve把Pod信息存储到ETCD当中
2、kube-scheduler 检测到Pod信息会开始调度
3、kube-scheduler 开始调度预选,主要是过滤掉不符合Pod要求的节点
4、kube-scheduler 开始调度调优,主要是会给节点打分以选择更加适合的节点
5、kube-scheduler 选择好节点后会把结果存储到ETCD
6、kubelet 根据调度结果执行Pod创建操作
8.删除一个Pod会发生什么事情?
kube-apiserver会接受到用户的删除指令,默认有30秒时间等待优雅退出,超过30秒会被标记为死亡状态,此时Pod的状态是Terminating,Kubelet看到Pod标记为Terminating开始了关闭Pod的工作
1、Pod从service的列表中被删除
3、进程被发送TERM信号(kill -14)
4、当超过优雅退出时间时,Pod中的所有进程都很被发送SIGKILL信号(kill -9)
9.k8s的Service是什么?
Pod每次重启或者从新部署IP地址都会产生变化,这使得Pod间通信和Pod与外部通信变得困难,这时候
Pod就需要一个固定的入口这就是Service
每个Service都有一个clusterIP,clusterIP是固定的是外界访问Pod的唯一入口,Service背后通常绑定了
一组相同配置的Pod,通过负载均衡的方式把外界请求分配的多个Pod
10.k8s是怎么进行服务注册的?
Pod启动后会加载当前环境所有Service信息,以便不同Pod根据Service名进行通信
11.什么是Kubelet?
这是一个代理服务,它在每个节点上运行,并使从服务器与主服务器通信。因此,Kubelet处理PodSpec
中提供给它的容器的描述,并确保PodSpec中描述的容器运行正常。
12.云计算和虚拟化的关系是什么
虚拟化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配
云计算是一种服务模式,其思想就是把各种资源整合起来,然后租给有需要的用户
云计算就是利用了虚拟化技术的特点,把这些资源分割打包提供给用户使用
13.云计算有哪些分类
IaaS:基础设施服务,Infrastructure-as-a-service
PaaS:平台服务,Platform-as-a-service
SaaS:软件服务,Software-as-a-service
14.公有云、私有云、混合云
公有云指互联网上发布的云计算服务,搭建云的资源在提供商的场所内,用户通过互联网使用服务
私有云一般建设在企业内部(专网)发布的云服务,搭建云平台所需的资源由企业自给
混合云是云计算的一种类型,它将本地基础结构(或私有云)与公有云结合在一起。使用混合云,可以在两种环境之间移动数据和应用
15.KVM虚拟机常用管理命令
16.虚拟机磁盘技术中的 ROW 指的是什么
写入时重定向(英语:Redirect On Write,简称ROW)是一种计算机程序设计领域的优化策略。其核心思
想是,当有多个调用者都需要请求相同资源时,一开始资源只会有一份,多个调用者共同读取这一份资源,当
某个调用者需要修改数据的时候,才会将数据生成拷贝,供这个调用者使用,而其他调用者依然还是读取最原
始的那份数据。每次有调用者需要修改数据时,就会重复一次拷贝流程,供调用者修改使用,使用ROW可以避
免或者减少数据的拷贝操作,极大的提高性能
17.ELK三大组件以及其各自的作用
1、Elasticsearch 是一个分布式的免费开源搜索和分析引擎,它提供了一个分布式的基础架构,基于RESTful API的Web接口
2、logstash 是一个数据采集、加工处理以及传输(输出)的工具,拥有丰富的数据收集处理输出插件。
3、kibana 是一个数据可视化平台工具。能够完成数据的检索、图表绘制以及展示等功能
18.简述logstash的配置区域及其用途
input 区域负责日志的收集
filter 区域负责对日志进行格式化
output 区域负责把格式化好的日志存储在数据库中
19.简要说明Elasticsearch数据的组织存储方式
Elasticsearch 数据的组织存放方式按照由大到小顺序分别是 索引、类型、文档、字段
索引:相当于数据库中的库
类型:相当于数据库中的表
文档:相当于数据库中的行
字段:相当于数据库中的列
20.简述elasticsearch集群插件head的用途
它展现ES集群的拓扑结构,并且可以通过它来进行索引(Index)和节点(Node)级别的操作
它提供一些快捷菜单,用以展现集群的各种状态,还提供一组针对集群的查询API,并将结果以json和表格形
式返回
21.如何对Elasticsearch数据库进行增删改查
访问Elasticsearch数据库需要使用 REST API,分别对应以下 HTTP 协议方法
增 – HTTP方法 (PUT)
删 – HTTP方法 (DELETE)
改 – HTTP方法 (POST)
查 – HTTP方法 (GET)
22.查询Elasticsearch状态信息的 API 怎么使用?
可以使用 _cat api 进行查询 (?v 显示详细信息)(?help 显示帮助信息)
curl http://集群中任意结点:9200/_cat/关键字
23.filebeat是什么,主要优势是什么
filebeat是用于转发和集中日志数据的轻量级传送工具
filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到 Elasticsearch
或 Logstash进行索引
由于Logstash对内存、cpu、io等资源消耗非常高,部署在任务繁重的机器上非常不合适,对于日志的收集filebeat 就是解决这个问题的最佳选择,filebeat 非常轻量,几乎不占用系统资源,他可以通过网络把
收集的日志发送到 Elasticsearch 或 Logstash进行索引
24.kibana是什么
数据可视化平台工具
特点:
灵活的分析和可视化平台,实时总结和流数据的图表
为不同的用户显示直观的界面,即时分享和嵌入的仪表板
25.如何区分filebeat转发来的不同类型的数据
可以在filebeat中定义 fields 自定义的键值对类型的标签,在日志的接收端可以通过该标签进行日志区分
26.Docker与虚拟机相比有哪些优势
1、Docker 更简单、更易用、更快速,与虚拟机相比,Docker共享宿主机的操作系统和硬件资源,所有的应用模块都是在宿主机上的隔离,非常节省资源,多个应用模块类似于宿主机上多个“应用进程”
2、与虚拟机相比,容器的创建启动、停止等能都实现秒级的速度,从而实现业务系统服务的快速弹性扩展
3、更灵活的硬件资源调整、管控:所有的运维基础服务以及公司自有模块都可以随意封装为镜像,只要Docker运行的基础环境,就可以直接启动服务,从而实现“一次封装,到处运行”
4、所有容器能够针对CPU,内存、磁盘IO、网络等进行更细化的调整控制,让所有容器更能充分利用宿主机的硬件资源;
5、透明部署,促进企业实现真正的DevOps:docker 的出现,让运维、测试、研发等企业技术人员,彻底跳出“环境部署的苦海”,实现真正的企业内部业务系统的“透明部署”,简化了技术部门产品发布的流程
27.熟练掌握镜像管理命令
28.熟练掌握容器管理命令
30.简述Dockerfile中常见命令关键字并说明用途
31.如何查看私有仓库中的镜像和标签
私有仓库的镜像存储在/var/lib/registry
查看私有镜像仓库中的镜像名称或标签
查看名称: curl http://仓库IP:5000/v2/_catalog
查看标签: curl http://仓库IP:5000/v2/镜像名称/tags/list
32.容器卷有什么用途
数据卷是宿主机上面的某个特殊目录或者文件,它可供一个或多个容器使用
特性:
- 1、数据卷中所有的数据是保存在宿主机磁盘本地的,它可以被一个或多个容器使用在权限允许的前提下,宿主机+各个容器对数据卷都可以进行读、写、删除等各项操作并且在宿主机或者各个容器任何一个节点上面变更数据(增、删、改),实现数据的 “全局同步”
- 2、对数据卷的更新,不会影响镜像
- 3、卷会一直存在,即使没有容器,数据也不会丢失
33.如何限制容器使用的物理机资源
可以在容器启动的时候通过参数限制容器对内存及cpu的使用
例如:
- 设置容器使用的cpu权重,在多个容器对cpu发生资源争用的的时候,按照权重分配资源cpuset-cpus 把容器使用cpu资源固定在一个或多个指定的cpu 核上
- 使用参数-m设置容器使用宿主机的物理内存容量大小memory-swap 设置容器使用宿主机的物理内存+物理交换分区的总容量大小
34.安装部署容器服务,内核需要支持哪些技术
1、Cgroups(Control Groups)资源管理
2、SELinux 安全
3、NameSpace 命名空间
35.如何实现多个不同容器内的服务相互调用
可以通过共享容器的命名空间或(link)实现
在启动时候可以通过参数 network=container:容器名称
把两个服务监听在同一个网络命名空间上,从而实现服务内部相互调用
36.容器内的服务如何发布出来
容器可以通过 -p 参数把容器端口和宿主机端口绑定或共享宿主机网络名称空间
我们可以通过访问宿主机的 IP:Port 来达到访问到容器内服务的目的
同一宿主机的同一个端口只能绑定一个容器服务
相关文章:

linux面试高级篇
题目目录1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?2. Dockerfile中最常见的指令是什么?3.docker网络模式有哪些?4.Kubernetes有哪些核心组件这些组件负责什么工作?5. Pod是什么?6.描述一…...

java 4 (面向对象上)
java——面向对象(上) 目录java——面向对象(上)面向对象的思想概述类的成员(1-2):属性和方法对象的内存解析类中属性的使用类中方法的使用1.举例:2.声明方法:3.说明4.re…...
HTTP报头的2个方法
在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行 下面,我们将使用urllib2的header部分伪造报头来实现采集信息 方法1、 #!/usr/bin/python -- coding: utf-8 -- #encodingutf-8 #Filename:urllib2-header.py import urllib2 import…...

yolov5双目检测车辆识别(2023年+单目+双目+python源码+毕业设计)
行人识别yolov5和v7对比yolo车距源码:yolov5双目检测车辆识别(2023年单目双目python源码毕业设计)上盒岛APP,开线上盲盒商店http://www.hedaoapp.com/yunPC/goodsDetails?pid4132 为了提高传统遗传算法(genetic algorithm, GA)IGA优化BP网络迭代时间过长以及精度偏…...

华为OD机试题,用 Java 解【用户调度问题】问题
华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…...
根据mybatis plus注解动态创建sqlite表和表字段
根据mybatis plus注解动态创建sqlite表和表字段 启动时动态创建sqlite数据库,根据mybatis plus注解动态创建表。如果有新增字段,动态创建字段。 文章目录根据mybatis plus注解动态创建sqlite表和表字段一、初始化数据库1.系统启动时初始化数据库2.初始化…...

同步、异步ETL架构的比较
背景介绍: 数据的抽取,转换和加载 (ETL, Extract, Transform, Load) 是构建数据仓库过程中最复杂也是至 关重要的一个步骤,我们通常用两种办法来处理 ETL 流程: 一种是异步(Asynchronous) ETL 方式, 也称为文本文件(Flat file)方式。 另外…...

【机会约束、鲁棒优化】具有排放感知型经济调度中机会约束和鲁棒优化研究【IEEE6节点、IEEE118节点算例】(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

用Python帮老叔选出好基金,大赚一笔,老叔专门提着茅台登门道谢
我有个老叔很喜欢买基金,因为不想被割韭菜,所以啥群都没进,全部自己精挑细选。 看着他的一个本子密密麻麻地写了一大堆东西,全是基金的数据分析,一大把年纪了挺不容易的,于是就决定帮他一把。 在跟他详谈…...

ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网
ZeroTier实现内网穿透详细教程,无需公网IP,实现异地组网ZeroTier1.官网注册账号,创建自己的局域网段2.点击创建好的网络,进入设置界面进行设置3.下载客户端,安装客户端,然后连接到网络中4.加入网络成功后&a…...

电商 SaaS 全渠道实时数据中台最佳实践
摘要:本文整理自聚水潭数据专家张成玉,聚水潭高级数据工程师应圣楚,在 FFA 2022 行业案例专场的分享。本篇内容主要分为四个部分:实时数仓的建设和发展数据中台的产品体系及架构实时计算的实践和优化对实时计算的未来展望Tips&…...

macos ncnn 安装踩坑记录···
安装真麻烦踩了无数坑,官方给的安装教程:macos安装ncnn, 安装过程老是报错,记录一下卡的比较久的,网上也不好找资料的错. 我的电脑: 1. 使用homebrew 的时候失败fatal: not in a git directory Error: Command failed…...

ESP32设备驱动-AM2301(DHT21)温度湿度传感器驱动
AM2301(DHT21)温度湿度传感器驱动 文章目录 AM2301(DHT21)温度湿度传感器驱动1、AM2301(DHT21)介绍2、硬件准备3、软件准备4、驱动实现1、AM2301(DHT21)介绍 AM2301 湿敏电容数字温湿度模块是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温…...

[数据结构]:16-归并排序(顺序表指针实现形式)(C语言实现)
目录 前言 已完成内容 归并排序实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-PSeqListFunction.cpp 04-SortFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言代码。使用C引用主要是…...

React(七):Router基本使用、嵌套路由、编程式导航、路由传参、懒加载
React(七)一、React-Router的基本使用1.安装和介绍2.路由的配置和跳转3.Navigate的使用4.如果找不到对应的路由路径?二、嵌套路由的用法三、编程式路由导航1.类组件中使用useNavigate2.函数式组件中使用useNavigate四、路由跳转传参1.设置好路…...

Java基础面试题(一)
Java基础面试题 一、面向对象和集合专题 1. 面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程…...
代码命名规范是一种责任也是一种精神(工匠精神)
代码命名规范之美规范概述命名规范管理类命名BootstrapProcessorManagerHolderFactoryProviderRegistrarEngineServiceTask传播类命名ContextPropagator回调类命名Handler ,Callback,Trigger,ListenerAware监控类命名MetricsEstimatorAccumul…...

奇淫技巧:阅读源码时基于一组快捷键,让我们知道身在何方!
一个十分蛋疼的问题 在我们阅读框架底层源码的时候,我们往往会一个方法一个方法的往下翻,翻了很久很快就会有这样的灵魂拷问:我从那个类(方法)来,我要到哪个(类)方法中去。这个时候…...
你真的弄懂this指向了吗
前言 在说 this 指向之前,请观察以下代码,并说出它们的输出结果: 第 1 组:标准函数 window.color "red"; let o {color: "blue", }; function sayColor() {console.log(this.color); }sayColor(); // 输…...

阿里云服务器使用教程:使用xshell、xFtp工具连接阿里云服务器(Centos7)并修改Centos7的yum源为阿里镜像源
目录 1、下载并安装xshell、xFtp 2、远程连接阿里云服务器 3、 修改Centos7的yum源为阿里镜像源 1、下载并安装xshell、xFtp XShell可以在Windows界面下来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。它支持 RLOGIN、SFTP、SERIAL、TELNET、…...

微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...