WSL下如何使用Ubuntu本地部署Vits2.3-Extra-v2:中文特化修复版(新手从0开始部署教程)

环境:

硬:

台式电脑

1.cpu:I5 11代以上

2.内存16G以上

3.硬盘固态500G以上

4.显卡N卡8G显存以上
20系2070以上

本案例英伟达4070 12G

5.网络可连github

软:

Win10 专业版 19045以上

WSL2 -Ubuntu22.04

1.bert-Vits2.3

Extra-v2:中文特化修复版
Extra-Fix分支

底模:Bert-VITS2_中文特化修复底模_0.0.1

2.python 3.11以上

3.git

4.cuda11.8

5.pytorch2.1

问题描述:

WSL下如何使用Ubuntu本地部署Vits2.3-Extra-v2:中文特化修复版

在这里插入图片描述

解决方案:

Bert-VITS2简介

bert-vits2可预测感情文本转语音技术的工作原理是,首先对大量的文本数据进行情感分析,以了解不同情感表达的语法和词汇使用情况。然后,利用这些信息,人工智能模型可以预测给定文本的情感倾向,并调整语音输出的音调和语速等参数,以匹配这种情感倾向。
流程包括文本预处理、声学模型处理训练和后处理三个步骤。首先,文本预处理会对标注的文本分析和处理,例如分词、词性标注和语法分析等。然后,声学模型训练会将文本转化为声学特征,这个过程通常需要大量的语音数据来训练。最后,后处理会对生成的语音波形进行优化和调整,以使其更符合直播带货的需求

Bert-VITS2部署

一、部署底层环境

Win10 安装WSL

WSL,全称Windows Subsystem for Linux,是Windows操作系统中的一个功能,它允许在Windows上运行Linux子系统。通过WSL,用户可以在Windows环境下使用Linux的命令行工具、脚本和应用程序,而无需进行双系统切换或虚拟机配置。WSL提供了与Linux内核的兼容性,使得在Windows上进行开发和运行Linux应用变得更加方便。用户可以在Microsoft Store中下载WSL,安装后即可使用。

1.启用 WSL 相关功能:

打开cmd终端(管理员权限)

运行以下命令以启用虚拟机平台功能:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

在这里插入图片描述

重新启动计算机

2.安装 WSL 2 Linux 内核更新包:
下载适用于你的系统的 WSL 2 Linux 内核更新包:

x64 系统:https://aka.ms/wsl2kernel
在这里插入图片描述

ARM64 系统:https://aka.ms/wsl2kernelarm64
安装下载的。

3.设置 WSL 2 为默认版本:
打开 cmd终端,运行以下命令以将 WSL 2 设置为默认版本:
shell wsl --set-default-version 2

4.安装 Ubuntu 22.04 分发版:
打开 Microsoft Store 应用商店
在搜索栏中搜索 “Ubuntu 22.04”
选择 “Ubuntu 20.04 LTS” 并点击 “获取”
安装完成后,点击 “启动”

在这里插入图片描述

5.配置 Ubuntu 22.04:
在 Ubuntu 20.04 的安装界面中,为新的 Linux 用户设置用户名和密码

在这里插入图片描述

安装显卡驱动

1.Win10安装cuda-wsl驱动

https://developer.nvidia.com/cuda/wsl

确定要安装的版本

从物理设备开始一直到上层应用,CUDA有一条复杂的软件版本依赖链。我们通常从自己电脑的物理GPU型号开始,确定每个环节的软件版本:
GPU物理设备的型号	——决定——>	GPU驱动的版本号	对应关系
GPU驱动的版本号	——决定——>	CUDA的版本号	对应关系
CUDA的版本号	——决定——>	cuDNN的版本号	对应关系
CUDA的版本号,同上	——决定——>	PyTorch等深度学习框架的版本号	对应关系
nvcc -V

在这里插入图片描述

cmd下以root权限进入WSL

wsl -u root 

查看显卡配置

 nvidia-smi

在这里插入图片描述

2.ubuntu安装cuda(如果WIN10下驱动正常,这步不需要再安装)

https://developer.nvidia.com/cuda-toolkit-archive
安装cuda11.8
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

选install

在这里插入图片描述

在这里插入图片描述
3.安装cuda-toolkit

apt install nvidia-cuda-toolkit

完成查看

nvcc -V

在这里插入图片描述

4.安装cuDNN

https://developer.nvidia.com/rdp/cudnn-archive#a-collapse833-115
在这里插入图片描述

拉取Vits2.3项目

拉取Extra-Fix分支

1.在e盘新建work文件夹

2.进入文件夹cd /mnt/e/work

git clone https://github.com/fishaudio/Bert-VITS2.git

还可以下载下来解压到work目录

在这里插入图片描述
3.安装python3.11

编辑软件源配置文件:

sudo nano /etc/apt/sources.list

在打开的文件中,将现有的软件源地址替换为清华大学的镜像源地址。

将清华源地址粘贴到文件中

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

保存更改,并关闭编辑器(按下 Ctrl + X,然后按下 Y 确认保存,最后按下 Enter 关闭编辑器)。

更新软件包列表:
sudo apt update

安装python3.11

sudo apt install python3.11
apt install python3-pip

4.安装pytorch

PyTorch是一个开源的机器学习框架,用于构建深度学习模型。它提供了丰富的工具和库,使得开发者可以轻松地创建和训练各种类型的神经网络模型
pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118

警告:以“root”用户身份运行pip可能会导致权限中断以及与系统包管理器发生冲突。建议改用虚拟环境:https://pip.pypa.io/warnings/venv

5.设置虚拟环境

安装venv包,请先安装:

sudo apt install python3-venv

创建新的虚拟环境:

python3 -m venv vitsenv

将vitsenv替换为您想要为虚拟环境的名称

激活虚拟环境:

source vitsenv/bin/activate

在这里插入图片描述

现在您的提示符应该已更改,表示您正在虚拟环境中工作。现在,您可以使用pip而无需使用sudo命令

完成工作后,请记得停用虚拟环境:

deactivate
pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118

在这里插入图片描述
查看是否成功

python -c "import numpy; print(numpy.__version__)"
python -c "import torch; print(torch.__version__)"

在这里插入图片描述

6.安装需求依赖库

安装项目里的需求依赖库:

 pip install -r requirements.txt

requirements.txt 里面内容

librosa==0.9.2:用于音频和音乐信号处理的Python库。
matplotlib:用于创建可视化图表和绘图的Python库。
numpy:用于进行数值计算和数组操作的Python库。
numba:用于提供即时编译(JIT)功能,加速Python代码的执行。
phonemizer:用于将文本转换为音素序列的Python库。
scipy:用于科学计算和数值分析的Python库。
tensorboard:用于可视化和监控深度学习模型训练过程的工具。
Unidecode:用于将Unicode文本转换为ASCII文本的Python库。
amfm_decompy:用于分解调频调幅信号的Python库。
jieba_fast:用于中文分词的快速版本。
jieba:用于中文分词的Python库。
transformers:用于自然语言处理(NLP)任务的预训练模型和工具的库。
pypinyin:用于将汉字转换为拼音的Python库。
cn2an:用于将中文数字转换为阿拉伯数字的Python库。
gradio==3.50.2:用于构建交互式界面的Python库。
av:用于音频和视频处理的Python库。
mecab-python3:Python的日本语形态分析器MeCab的绑定。
loguru:用于更简单和更美观的日志记录的Python库。
unidic-lite:日本语形态分析字典Unidic的轻量级版本。
cmudict:包含美国英语发音的字典。
fugashi:Python的日本语形态分析器。
num2words:将数字转换为对应的文字表达的Python库。
PyYAML:用于解析和生成YAML文件的Python库。
requests:用于发送HTTP请求的Python库。
pyopenjtalk-prebuilt:日本语文本到语音合成的库。
jaconv:用于日本语文本转换的Python库。
psutil:用于获取系统信息和进程管理的Python库。
GPUtil:用于获取GPU(显卡)信息的Python库。
vector_quantize_pytorch:用于向量量化的PyTorch实现。
g2p_en:用于将英文单词转换为音素序列的Python库。
sentencepiece:用于分词和文本处理的Python库。
pykakasi:用于日语文本转化为罗马字拼音的Python库。
langid:用于自然语言文本语言检测的Python库。
onnxruntime-gpu:用于在GPU上运行ONNX模型的库。
opencc==1.1.7:用于简繁体中文转换的库。
WeTextProcessing>=0.1.10:用于中文文本处理的库

在这里插入图片描述
安装需要一段时间。。。

可以把源设置为清华的

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

苗贺明7.安装转写包

pip install funasr modelscope -i https://pypi.douban.com/simple/

二、模型下载

1.首先是bert模型下载

bert模型链接

https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model

2.按各自需要下载英日中的bert模型,将下载得到的pytorch_model.bin文件放入对应文件夹

deberta-v2-large-japanese-char-wwm(必下)

点进去下载
在这里插入图片描述

chinese-roberta-wwm-ext-large (必下)

在这里插入图片描述点进去下载

在这里插入图片描述

3.放进chinese-roberta-wwm-ext-large 下
在这里插入图片描述

将clap模型放入

Bert-VITS2\emotional\clap-htsat-fused
在这里插入图片描述

4.然后我们需要下载训练所需要的预训练模型

先输入

pip install openi

在这里插入图片描述

5.安装启智ai

然后进入以下链接: https://openi.pcl.ac.cn/user/settings/applications

先注册该平台账号,然后生成token(令牌)
在这里插入图片描述在这里插入图片描述保存该令牌,然后回到vits界面,输入openi login

右键粘贴你刚才保存的token
在这里插入图片描述在这里插入图片描述
6.在线下载

openi model download -r Stardust_minus/Bert-VITS2 -m  Bert-VITS2_中文特化修复底模 -p ./pretrained_model    

还可以手工一个一个下载

在这里插入图片描述放置在,你设定的数据集名称文件夹 模型文件夹里,和下面自定义模型文件夹路径一样

在这里插入图片描述

三、生成和修改配置文件

1.首次使用该项目先输入 python resample.py,生成配置文件

在这里插入图片描述

2.然后修改config.yml,根据自己实际情况进行修改

如果你不知道应该怎么修改,可以给我的参考一下

dataset_raw是你放置未处理的音频的文件夹,dataset处理后的数据集文件夹

这两个文件夹都需要手动创建

mirror将它的值从改为"openi"

在这里插入图片描述

3.将标注文本文件全部同意命名为clean_barbara.list,标注文本位于filelist文件夹内(后期用别的软件标注,标注文件在这替换)

在这里插入图片描述

4.自动保存的模型数量,根据需要和自己的硬盘空间进行修改
在这里插入图片描述

5.server内的模型留空[],进入Hiyori UI后再加载模型

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

6.webui块的模型路径根据你自己的模型位置进行修改

ctrl+将所有的config.json路径都替换为configs/config.json

在这里插入图片描述
全部配置文件内容如下

# 全局配置
# 对于希望在同一时间使用多个配置文件的情况,例如两个GPU同时跑两个训练集:通过环境变量指定配置文件,不指定则默认为./config.yml# 拟提供通用路径配置,统一存放数据,避免数据放得很乱
# 每个数据集与其对应的模型存放至统一路径下,后续所有的路径配置均为相对于datasetPath的路径
# 不填或者填空则路径为相对于项目根目录的路径
dataset_path: ""# 模型镜像源,默认huggingface,使用openi镜像源需指定openi_token
mirror: "openi"
openi_token: "824fc7f0a921968883b708ea1ad64fe015894b37"  # openi token# resample 音频重采样配置
# 注意, “:” 后需要加空格
resample:# 目标重采样率sampling_rate: 44100# 音频文件输入路径,重采样会将该路径下所有.wav音频文件重采样# 请填入相对于datasetPath的相对路径in_dir: "dataset_raw/XFQLS" # 相对于根目录的路径为 /datasetPath/in_dir# 音频文件重采样后输出路径out_dir: "dataset/XFQLS"# preprocess_text 数据集预处理相关配置
# 注意, “:” 后需要加空格
preprocess_text:# 原始文本文件路径,文本格式应为{wav_path}|{speaker_name}|{language}|{text}。transcription_path: "filelists/clean_barbara.list"# 数据清洗后文本路径,可以不填。不填则将在原始文本目录生成cleaned_path: ""# 训练集路径train_path: "filelists/train.list"# 验证集路径val_path: "filelists/val.list"# 配置文件路径config_path: "configs/config.json"# 每个语言的验证集条数val_per_lang: 4# 验证集最大条数,多于的会被截断并放到训练集中max_val_total: 12# 是否进行数据清洗clean: true# bert_gen 相关配置
# 注意, “:” 后需要加空格
bert_gen:# 训练数据集配置文件路径config_path: "configs/config.json"# 并行数num_processes: 4# 使用设备:可选项 "cuda" 显卡推理,"cpu" cpu推理# 该选项同时决定了get_bert_feature的默认设备device: "cuda"# 使用多卡推理use_multi_device: false# emo_gen 相关配置
# 注意, “:” 后需要加空格
emo_gen:# 训练数据集配置文件路径config_path: "configs/config.json"# 并行数num_processes: 4# 使用设备:可选项 "cuda" 显卡推理,"cpu" cpu推理device: "cuda"# 使用多卡推理use_multi_device: false# train 训练配置
# 注意, “:” 后需要加空格
train_ms:env:MASTER_ADDR: "localhost"MASTER_PORT: 10086WORLD_SIZE: 1LOCAL_RANK: 0RANK: 0# 可以填写任意名的环境变量# THE_ENV_VAR_YOU_NEED_TO_USE: "1234567"# 底模设置base:use_base_model: falserepo_id: "Stardust_minus/Bert-VITS2"model_image: "Bert-VITS2_2.3底模" # openi网页的模型名# 训练模型存储目录:与旧版本的区别,原先数据集是存放在logs/model_name下的,现在改为统一存放在Data/你的数据集/models下model: "data/XFQLS/models"# 配置文件路径config_path: "configs/config.json"# 训练使用的worker,不建议超过CPU核心数num_workers: 5# 关闭此项可以节约接近70%的磁盘空间,但是可能导致实际训练速度变慢和更高的CPU使用率。spec_cache: False# 保存的检查点数量,多于此数目的权重会被删除来节省空间。keep_ckpts: 15# webui webui配置
# 注意, “:” 后需要加空格
webui:# 推理设备device: "cuda"# 模型路径model: "models/G_8000.pth"# 配置文件路径config_path: "configs/config.json"# 端口号port: 7860# 是否公开部署,对外网开放share: false# 是否开启debug模式debug: false# 语种识别库,可选langid, fastlidlanguage_identification_library: "langid"# server-fastapi配置
# 注意, “:” 后需要加空格
# 注意,本配置下的所有配置均为相对于根目录的路径
server:# 端口号port: 5000# 模型默认使用设备:但是当前并没有实现这个配置。device: "cuda"# 需要加载的所有模型的配置,可以填多个模型,也可以不填模型,等网页成功后手动加载模型# 不加载模型的配置格式:删除默认给的两个模型配置,给models赋值 [ ],也就是空列表。参考模型2的speakers 即 models: [ ]# 注意,所有模型都必须正确配置model与config的路径,空路径会导致加载错误。# 也可以不填模型,等网页加载成功后手动填写models。models:- # 模型的路径model: ""# 模型configs/config.json的路径config: ""# 模型使用设备,若填写则会覆盖默认配置device: "cuda"# 模型默认使用的语言language: "ZH"# 模型人物默认参数# 不必填写所有人物,不填的使用默认值# 暂时不用填写,当前尚未实现按人区分配置speakers:- speaker: "科比"sdp_ratio: 0.2noise_scale: 0.6noise_scale_w: 0.8length_scale: 1- speaker: "五条悟"sdp_ratio: 0.3noise_scale: 0.7noise_scale_w: 0.8length_scale: 0.5- speaker: "安倍晋三"sdp_ratio: 0.2noise_scale: 0.6noise_scale_w: 0.8length_scale: 1.2- # 模型的路径model: ""# 模型configs/config.json的路径config: ""# 模型使用设备,若填写则会覆盖默认配置device: "cpu"# 模型默认使用的语言language: "JP"# 模型人物默认参数# 不必填写所有人物,不填的使用默认值speakers: [ ] # 也可以不填# 百度翻译开放平台 api配置
# api接入文档 https://api.fanyi.baidu.com/doc/21
# 请不要在github等网站公开分享你的app id 与 key
translate:# 你的APPID"app_key": ""# 你的密钥"secret_key": ""

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Gemini VS GPT-4,当前两大顶级AI模型实测

随着谷歌在AI军备竞赛中急起直追,“有史以来最强大模型”Gemini Advanced终于上线,AI爱好者们总算等来了一款号称能够匹敌GPT-4的大语言模型。 月费19.99美元(包含Google One订阅)的Gemini Advanced实际表现如何?究竟…

cad基础学习

基础操作与设置 切换工作空间 调整鼠标 界面右击,选项 选项中找到显示,十字光标调到最大 当然也可以输入命令op,回车。它会自动打开这个界面 画一个直线 上面选直接,单击俩个点,画出一个直线。然后空格收尾,这就画出…

disql备份还原

disql备份还原 前言 本文档根据官方文档,进行整理。 一、概述 在 disql 工具中使用 BACKUP 语句你可以备份整个数据库。通常情况下,在数据库实例配置归档后输入以下语句即可备份数据库: BACKUP DATABASE BACKUPSET db_bak_01;语句执行完…

C++多态:定义、实现及原理/继承关系中的虚函数表

目录​​​​​​​ 一、多态的定义及实现 1.1多态的概念​​​​​​​ 1.2多态的构成条件 1.3virtual虚函数 1.4虚函数的重写 二、override和final 三、抽象类 3.1概念 3.2接口继承和实现继承 四、多态的原理 4.1虚函数表 4.2 多态的原理 4.3动态绑定与静态绑定…

蓝桥杯---分小组

9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 我们标记运动员为 A,B,C .... I 下面的程序列出了所有的分组方法。 该程序的正常输出为:

乐观锁,CAS,ABA问题,synchronized锁升级过程

常见的锁策略 乐观锁 vs 悲观锁 乐观锁:乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则返回用户错误的信息&#xff0c…

XEX数字货币交易平台:量化交易策略与市场趋势解析

量化交易,一个结合金融市场知识与计算机科学的领域,通过执行一系列复杂的算法策略,自动化地进行交易决策。它的常见策略包括动量交易、对冲策略、算法套利等,旨在通过分析历史数据和市场模式来预测未来趋势,从而实现盈…

【python5】闭包/装饰器,

文章目录 1.闭包和装饰器:函数里return就是闭包2.解析eeprom:如下是二进制文件,C8是一个字节3.json/configparser/optparse:json.dumps(将字典转化为字符串,将json信息写进文件),jso…

每日五道java面试题之java基础篇(六)

第一题:Java 创建对象有哪⼏种⽅式? Java 中有以下四种创建对象的⽅式: new 创建新对象通过反射机制采⽤ clone 机制通过序列化机制 前两者都需要显式地调⽤构造⽅法。对于 clone 机制,需要注意浅拷⻉和深拷⻉的区别,对于序列化机制需要明…

【二叉树】构建销毁二叉树

目录 创建二叉树 整体思路 代码实现 图示理解​ 销毁二叉树 判断二叉树是否是完全二叉树&层序 整体思路 代码实现 图是理解 二叉树的性质 题目 创建二叉树 整体思路 通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树遇到#就回退,返回…

CTF--Web安全--SQL注入之Post-Union注入

一、手动POST注入实现绕过 账号密码检测 我们利用sqli-labs/Less-11靶场来进行演示: 我们可以看到一个登录页面 打开Less-11的根目录,我们打开页面的源代码(PHP实现)。 用VS-code打开文件,找到验证登录信息的代码行。 此形式的代码存在POST…

CSS基础---新手入门级详解

CSS:层叠样式表 CSS&#xff08;Cascading Style Sheets,层叠样式表&#xff09;&#xff0c;是一种用来为结构化文档添加样式&#xff08;字体、间距和颜色&#xff09;的计算机语言&#xff0c;css扩展名为.css。 实例: <!DOCTYPE html><html> <head><…

【leetcode热题100】 格雷编码

n 位格雷码序列 是一个由 2n 个整数组成的序列&#xff0c;其中&#xff1a; 每个整数都在范围 [0, 2n - 1] 内&#xff08;含 0 和 2n - 1&#xff09;第一个整数是 0一个整数在序列中出现 不超过一次每对 相邻 整数的二进制表示 恰好一位不同 &#xff0c;且第一个 和 最后一…

DVWA靶场下载安装

DVWA介绍 DVWA 一共包含了十个攻击模块&#xff0c;分别是:Brute Force(暴力破解)、Command Injection(命令行注入)、CSRF(跨站请求伪造)、File Inclusion(文件包含)、File Upload(文件上传)、Insecure CAPTCHA (不安全的验证码)、SQL Injection(SQL注入)、SQL Injection Blin…

基于微信小程序的在线课堂的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

书生谱语-全链条开发工具

书生谱语全链条开发体系 包含&#xff1a;数据、模型预训练、模型微调、模型量化部署、模型测评、模型场景应用全链路开发体系 github链接 通用大模型 国内外大语言模型快速发展&#xff0c;涌现了大量的大语言模型以及一批创业公司 深度学习模型的发展 大模型利用多模态优势…

PLC在物联网中位置—承上启下,与上位机下位机的关联。

谈到物联网&#xff0c;就绕不开PLC&#xff0c;本文着重介绍PLC的定义、与单片机的区分&#xff0c;价值、物联网中的位置&#xff0c;以及和上位机、下位机的关联&#xff0c;让友友们对PLC有个全面的认知。 一、什么是PLC PLC是可编程逻辑控制器&#xff08;Programmable L…

ArcGIS学习(七)图片数据矢量化

ArcGIS学习(七)图片数据矢量化 通过上面几个任务的学习,大家应该已经掌握了ArcGIS的基础操作,并且学习了坐标系和地理数据库这两个非常重要且稍微难一些的专题。从这一任务开始,让我们进入到实战案例板块。 首先进入第一个案例一一图片数据矢量化。 我们在平时的工作学…

使用C++从零开始,自己写一个MiniWeb

第一步&#xff1a;新建项目 1、打开VS点击创建新项目 2、选择空项目并点下一步&#xff08;切记不能选错项目类型&#xff09; 3、填写项目名称和路径&#xff0c;点击创建即可 新建好后项目是这样的比较干净 4、右击源文件&#xff0c;点击添加&#xff0c;新建http.cpp文件…

Java的接口

目录 1.接口的概念 2.语法规则 3.接口的使用 4.接口的特性 总结&#xff1a; 5.实现多个接口 6.接口间的继承 1.接口的概念 接口就是公共的行为规范标准&#xff0c;大家在实现时&#xff0c;只要符合规范标准&#xff0c;就可以通用。 在Java中&#xff0c;接口可以看成…