机器学习第34周周报VBAED

news2024/11/20 19:47:03

文章目录

  • week34 VBAED
  • 摘要
  • Abstract
  • 一、文献阅读
    • 1. 题目
    • 2. abstract
    • 3. 网络架构
      • 3.1 序列问题阐述
      • 3.2 变分模态分解
      • 3.3 具有 BiLSTM 和双向输入注意力的编码器
      • 3.4 具有 BiLSTM 和双向时间注意力的解码器
    • 4. 文献解读
      • 4.1 Introduction
      • 4.2 创新点
      • 4.3 实验过程
        • 4.3.1 数据集
        • 数据预处理
        • 评估指标
        • 实验结果分析
    • 总结
    • 参考文献

week34 VBAED

摘要

本周阅读了题为Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder的论文。该文提出了一种称为VBAED的混合预测方法来预测水质时间序列。VBAED 结合了变分模式分解 (VMD)、双向输入注意力机制、具有双向 LSTM 的编码器 (BiLSTM) 以及具有双向时间注意力机制和 BiLSTM 的解码器。VBAED 的定义是一个编码器-解码器模型,它使用 VMD 作为模式分解,将 BiLSTM 与双向注意力机制相结合。本文在最后使用vmdpy对数据进行了一定处理。

Abstract

This week read the paper entitled Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder. This paper proposes a hybrid prediction method called VBAED to predict the water quality time series. VBAED combines Variational mode decomposition (VMD), a Bidirectional input Attention mechanism, an Encoder with bidirectional LSTM (BiLSTM), and a Decoder with a bidirectional temporal attention mechanism and BiLSTM. The definition of VBAED is an Encoder–Decoder model that uses VMD as mode decomposition, combining BiLSTM with a bidirectional attention mechanism. And the end, using vmdpy as a tool for processing data.

一、文献阅读

1. 题目

标题:Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder

作者:Jing Bi, Zexian Chen, Haitao Yuan, Jia Zhang

期刊名:[Expert Systems with Applications]

链接:https://doi.org/10.1016/j.eswa.2023.121807

2. abstract

随着水质数据的增加,其变得不稳定且高度非线性,因此,其准确预测成为一个巨大的挑战。为了解决这个问题,该文提出了一种称为VBAED的混合预测方法来预测水质时间序列。VBAED 结合了变分模式分解 (VMD)、双向输入注意力机制、具有双向 LSTM 的编码器 (BiLSTM) 以及具有双向时间注意力机制和 BiLSTM 的解码器。VBAED 的定义是一个编码器-解码器模型,它使用 VMD 作为模式分解,将 BiLSTM 与双向注意力机制相结合。

As the water quality data increases, it becomes unstable and highly nonlinear, and therefore, its accurate prediction becomes a big challenge. To solve it, this work proposes a hybrid prediction method called VBAED to predict the water quality time series. VBAED combines Variational mode decomposition (VMD), a Bidirectional input Attention mechanism, an Encoder with bidirectional LSTM (BiLSTM), and a Decoder with a bidirectional temporal attention mechanism and BiLSTM. The definition of VBAED is an Encoder–Decoder model that uses VMD as mode decomposition, combining BiLSTM with a bidirectional attention mechanism.

3. 网络架构

bead552fe445b031ecca620ae60a85e

该文在输入维度和时间维度上创新地将注意力机制与BiLSTM相结合,并采用VMD对水质数据进行分解,将重要模式与噪声模式分离,进一步提高预测精度。具体来说,通过VMD将预测因子的历史数据分解为多种模式。然后,模式和其他特征由具有双向输入注意机制的 BiLSTM 进行编码,并由具有双向时间注意机制的 BiLSTM 进行解码,以产生最终预测。

image-20240413145538449

上图说明了所提出的 VBAED 模式

3.1 序列问题阐述

02b28b98d2abdb5d3fe4dc70d4d8321

3.2 变分模态分解

VMD迭代地搜索变分模态的最优解,不断更新每个模态函数和中心频率,并获得多个本征模态函数(IMF)。变分问题定义为求解 k模IMF 来最小化每种模式的估计带宽之和。 Y 分解为 k 模。

VMD分解可以降低时间序列的非线性和波动性,避免模式混合的负面影响。不同的模态分量对预测结果有不同的影响。

通过将它们分离并与输入注意机制相结合,VBAED 能够自适应地选择重要模式,从多个模式中过滤掉噪声模式,并专注于包含重要信息的模式。可以根据实验结果选择性地去除模态分量。

这项工作通过 VMD 将目标值序列分解为三个分量,并将其用作特征。这引导神经网络更用心地学习更复杂的特征并提高预测精度。VMD处理后的的输入为 X ^ = { X ^ 1 , … , X ^ t , … , X ^ T } ∈ R n × T  where  n = n ˙ + 3 \hat X=\{\hat X_1,\dots, \hat X_t,\dots,\hat X_T\}\in \mathbb R^{n\times T}\ \text{where}\ n=\dot n+3 X^={X^1,,X^t,,X^T}Rn×T where n=n˙+3

3.3 具有 BiLSTM 和双向输入注意力的编码器

BiLSTM:由两个独立的 LSTM 单元组成。第一个 LSTM 单元称为 LSTMF,它从前到后对信息进行编码。第二个 LSTM 单元称为 LSTMB,它从后到前对信息进行编码。然后,组合来自两个方向的信息以获得编码器在时间步 t 的隐藏状态 h t h_t ht

特别是,在时间步 t 处,LSTMF 根据时间步 t-1 处的前一个隐藏状态 h t − 1 F h^F_{t-1} ht1F、时间步 t-1 处的单元状态 c t − 1 F c^F_{t-1} ct1F以及输入 X t X_t Xt 计算其隐藏状态 h t F h^F_t htF 。 LSTMB 基于隐藏状态 h t − 1 B h^B_{t-1} ht1B、单元状态 c t + 1 B c^B_{t+1} ct+1B 和输入 X t X_t Xt 计算其隐藏状态 h t B h^B_t htB。然后,将前向隐藏状态 h t F h^F_t htF和后向隐藏状态 h t B h^B_t htB组合成BiLSTM的隐藏状态。 LSTMF和LSTMB是两个独立的LSTM单元,它们不共享参数。 h t F h^F_t htF h t B h^B_t htB h t h_t ht 给出为:
h t F = LF ( h t − 1 F , c t − 1 F , X ^ t ) (2) h^F_t=\text{LF}(h^F_{t-1},c^F_{t-1},\hat X_t) \tag{2} htF=LF(ht1F,ct1F,X^t)(2)

h t B = LB ( h t + 1 B , c t + 1 B , X ^ t ) (3) h^B_t=\text{LB}(h^B_{t+1},c^B_{t+1},\hat X_t) \tag{3} htB=LB(ht+1B,ct+1B,X^t)(3)

h t = [ h t F ; h t B ] (4) h_t=[h^F_t;h^B_t] \tag{4} ht=[htF;htB](4)

其中 LF 是 LSTMF 单元,LB 是 LSTMB 单元。 𝑚 表示每个 BiLSTM 单元的隐藏状态大小, h t F ∈ R m ,   h t B ∈ R m ,   h t ∈ R 2 m h^F_t\in R^m,\ h^B_t\in R^m,\ h_t\in R^{2m} htFRm, htBRm, htR2m

该文为BiLSTM设计了一种输入注意机制。分别为LSTMF和LSTMB添加一个输入注意机制层,两种输入注意力机制关注不同的特征。

bd6ac30c8b5b3ef6082366fbe6472a2

6171efd4757cc95abeafadc79edcf32

3.4 具有 BiLSTM 和双向时间注意力的解码器

BiLSTM 解码器由两个独立的 LSTM 单元组成,包括 LSTMDF 和 LSTMDB。前者从前往后解码信息,后者从后到前解码信息。

m 表示每个 BiLSTM 单元的隐藏状态大小。 hi 表示编码器的第 i 隐藏状态。

BiLSTM中双向注意力机制的详细信息:

时间步 t 的前向注意力权重和第 i 个隐藏状态 ( h i h_i hi) 的后向注意力权重分别由 β t F i ( β t F i ∈ ( 0 , 1 ) ) ,   β t B + i ( ∈ ( 0 , 1 ) ) \beta^{F_i}_t(\beta^{F_i}_t\in(0,1)),\ \beta^{B+i}_t(\in(0,1)) βtFi(βtFi(0,1)), βtB+i((0,1)) β t F i \beta^{F_i}_t βtFi 是根据 LSTMDF 在时间步 t-1 的隐藏状态 d t − 1 f ( d t − 1 F ∈ R p ) d^f_{t-1}(d^F_{t-1}\in R^p) dt1f(dt1FRp)和单元状态 s t − 1 F ( s t − 1 F ∈ R p ) s^{F}_{t-1}(s^F_{t-1}\in R^p) st1F(st1FRp)计算的。此外, β t B i \beta^{B_i}_t βtBi是根据LSTMDB在时间步t+1的隐藏状态 d t + 1 B ( d t + 1 B ∈ R p ) d^B_{t+1}(d^B_{t+1}\in R^p) dt+1B(dt+1BRp)和单元状态 s t + 1 B ( s t + 1 B ∈ R p ) s^B_{t+1}(s^B_{t+1}\in R^p) st+1B(st+1BRp)计算的。 o t F i o^{F_i}_t otFi o t B i o^{B_i}_t otBi 表示 h i h_i hi​ 在时间步 t 的能量得分,其公式如下:

image-20240413222851706

时间步 𝑡 处的前向和后向上下文向量由 g t F g^F_t gtF g t B g^B_t gtB 表示,它们分别是编码器所有隐藏状态的加权和

image-20240413223113403

g t F g^F_t gtF g t B g^B_t gtB 同历史真实值 y t y_t yt联立,分别在时间t获得LSTMDF和LSTMDB的新输入 y ~ t F , y ~ t B \tilde y^F_t, \tilde y^B_t y~tF,y~tB

image-20240413223340101

将这些输入用于更新LSTMDF和LSTMDB在时间步t处的隐藏状态 d t F , d t B d^F_t, d^B_t dtF,dtB

image-20240413223502846

其中LDF表示LSTMDF,LDB表示LSTMDB

最终预测值 y ^ t + 1 \hat y_{t+1} y^t+1表示为

image-20240413223607998

训练过程:采用均方误差MSE作为损失函数,以最小化真实值与预测值之间的差异。损失函数 Δ \Delta Δ如下:
image-20240413223739675

4. 文献解读

4.1 Introduction

LSTM只能从前到后进行编码,无法捕获从后道歉的信息。同时,采用注意力机制的网络也无法捕获从后到前的数据。另外,水质数据中可能包含噪声,而噪声无法通过上述方法分离。为了解决上述问题,该文提出了一种称为 VBAED 的混合方法。 VBAED 集成了变分模式分解(VMD)、双向输入注意力机制、具有双向 LSTM 的编码器(BiLSTM)以及具有双向时间注意力机制和 BiLSTM 的解码器。

4.2 创新点

  1. 采用 BiLSTM 作为编码器来捕获两个方向的特征。 BiLSTM 通过双向输入注意力机制进行了改进,以独立地从两个方向为输入添加注意力权重。
  2. 采用 BiLSTM 作为解码器,结合双向时间注意力机制来捕获长期依赖性,从而在所有时间步上自适应地选择编码器的重要隐藏状态,并从两个方向对其进行解码。

4.3 实验过程

4.3.1 数据集

为了评估不同时间序列预测方法的性能,采用了两种不同的真实数据集,即BTH数据集和亚拉巴马数据集,分别为多特征和单特征数据集。

  • BTH数据集收集自2018年9月至2021年12月期间京津冀地区河流中的自动水质站。每4 h采集一次,涉及pH、TN、TP。在实验中,TN被用作基础事实,pH和TP被用作特征。对于少量的缺失值,采用线性插值的方法进行补充,总共有7200个数据样本。我们将前5000个数据样本作为训练集,接下来的1000个数据样本作为验证集,剩下的1200个数据样本作为测试集。

  • 亚拉巴马数据集是2017年5月至2019年8月美国亚拉巴马河一段的水质数据。数据收集间隔为一小时。与BTH数据集不同,亚拉巴马数据集只有一个DO特征,即亚拉巴马数据集中的目标值。对于数据集中的少量缺失值,采用线性插值方法进行补齐。在亚拉巴马数据集中,我们总共有19862个数据样本。在这项工作中,我们将前15889个数据样本作为训练集,随后的1986个数据样本作为验证集,最后的1987个数据样本作为测试集。

image-20240413223857438

数据预处理

采用Savitzky Golay(SG)滤波器对BTH数据集中TN、TP和pH的时间序列数据进行平滑处理,以减少噪声的干扰和局部异常值对整体趋势的影响。对于亚拉巴马数据集,我们直接预测目标DO值而不进行任何预处理。

评估指标

为了验证VBAED的性能,采用三个评估指标来比较预测精度,即均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。

实验结果分析
  1. 验证VBAED的准确性

用训练集对VBAED进行训练,对于BTH数据集,预测曲线和地面实况曲线几乎相同,这表明VBAED在多特征数据集中是有效的。对于亚拉巴马数据集,VBAED在单特征数据集中也工作得很好。

image-20240413224020011

在BTH数据集上的水质时间序列预测结果

image-20240413224040826

  1. 验证VBAED的鲁棒性和有效性

为了进一步,采用RMSE,MAE和R2将其与其他10个对等体进行比较,(DA-RNN只能用于多特征数据集)结果表明,VBAED在BTH和亚拉巴马数据集上都获得了最好的结果。此外,在BTH数据集中,当不采用VMD分解时,LSTM,BiLSTM和DA-RNN的RMSE分别为0.2093,0.1657和0.1259。采用VMD分解后,VMD-LSTM、VMD-BiLSTM和VDM-DARNN的RMSE分别为0.1688、0.1475、0.1156。在亚拉巴马数据集中,当不采用VMD分解时,LSTM和BiLSTM的RMSE分别为0.1957和0.1866。采用该方法后,VMD-LSTM和VMD-BiLSTM的RMSE分别为0.1724和0.1555。结果表明,VMD有效地把握了水质数据的演变趋势,并将其分解为关键信息模式和噪声模式,有助于模型训练,提高了预测精度。在BTH和亚拉巴马数据集上,LSTM的RMSE都比BiLSTM差,这表明双向LSTM结构克服了传统LSTM容易忽略从后到前的信息,导致相关信息丢失的局限性。

image-20240413224117860

image-20240413224131067

  1. 验证双向输入注意机制和双向时间注意机制的效果

在两个数据集上进行了消融实验。仅应用双向输入注意机制或双向时间注意机制会导致预测精度显著降低。在BTH和亚拉巴马数据集上,采用双向输入注意的模型的RMSE分别为0.0705和0.1313,而采用双向时间注意的模型的RMSE分别为0.0768和0.1368。这表明双向输入注意机制在VBAED中比双向时间注意机制起着更重要的作用。对于原始的长序列数据,网络很难直接捕捉到重要信息。双向输入注意机制使VBAED能够区分原始特征的重要性,从而加强重要特征,削弱不重要特征。此外,它使VBAED中的编码器能够获得更多有用的信息。VBAED采用双向输入注意机制提取相关特征,采用双向时间注意机制选择所有时间步的相关隐藏状态。因此,VBAED在BTH和亚拉巴马数据集的所有方法中实现了最高的预测精度。

image-20240413224228923

image-20240413224238000

import numpy as np
import matplotlib.pyplot as plt
from vmdpy import VMD
# -----测试信号及其参数--start-------------
Fs=1000 # 采样频率
N=1000 # 采样点数
t=np.arange(1,N+1)/N
fre_axis=np.linspace(0,Fs/2,int(N/2))
f_1=100;f_2=200;f_3=300
v_1=(np.cos(2*np.pi*f_1*t));v_2=1/4*(np.cos(2*np.pi*f_2*t));v_3=1/16*(np.cos(2*np.pi*f_3*t))
v=[v_1,v_2,v_3] # 测试信号所包含的各成分
f=v_1+v_2+v_3+0.1*np.random.randn(v_1.size)  # 测试信号
# -----测试信号及其参数--end----------
# alpha 惩罚系数;带宽限制经验取值为抽样点长度1.5-2.0倍.
# 惩罚系数越小,各IMF分量的带宽越大,过大的带宽会使得某些分量包含其他分量言号;
# a值越大,各IMF分量的带宽越小,过小的带宽是使得被分解的信号中某些信号丢失该系数常见取值范围为1000~3000
alpha=2000
tau=0 # tau 噪声容限,即允许重构后的信号与原始信号有差别。
K=3 # K 分解模态(IMF)个数
DC=0 # DC 若为0则让第一个IMF为直流分量/趋势向量
init=1 # init 指每个IMF的中心频率进行初始化。当初始化为1时,进行均匀初始化。
tol=1e-7 # 控制误差大小常量,决定精度与迭代次数
u, u_hat, omega = VMD(f, alpha, tau, K, DC, init, tol) # 输出U是各个IMF分量,u_hat是各IMF的频谱,omega为各IMF的中心频率

# 1 画原始信号和它的各成分
plt.figure(figsize=(10,7));plt.subplot(K+1, 1, 1);plt.plot(t,f)
for i,y in enumerate(v):
    plt.subplot(K+1, 1, i+2);plt.plot(t,y)
plt.suptitle('Original input signal and its components');plt.show()

# 2 分解出来的各IMF分量
plt.figure(figsize=(10,7))
plt.plot(t,u.T);plt.title('all Decomposed modes');plt.show()  # u.T是对u的转置

# 3 各IMF分量的fft幅频图
plt.figure(figsize=(10, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    fft_res=np.fft.fft(u[i, :])
    plt.plot(fre_axis,abs(fft_res[:int(N/2)])/(N/2))
    plt.title('(FFT) amplitude frequency of IMF {}'.format(i + 1))
plt.show()

# 4 分解出来的各IMF分量的频谱
# print(u_hat.shape,t.shape,omega.shape)
plt.figure(figsize=(10, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    plt.plot(fre_axis,abs(u_hat[:, i][int(N/2):])/(N/2))
    plt.title('(VMD)amplitude frequency of the modes{}'.format(i + 1))
plt.tight_layout();plt.show()

# 5 各IMF的中心频率
plt.figure(figsize=(12, 7), dpi=80)
for i in range(K):
    plt.subplot(K, 1, i + 1)
    plt.plot(omega[:,i]) # X轴为迭代次数,y轴为中心频率
    plt.title('mode center-frequencies{}'.format(i + 1))
plt.tight_layout();plt.show()

plt.figure(figsize=(10,7))
plt.plot(t,np.sum(u,axis=0))
plt.title('reconstructed signal')

image-20240413225140491

image-20240413225204343

image-20240413225222650

image-20240413225232404

image-20240413225250112

总结

这周通过文献学习了解了EMD和VMD两种模态分解方法,模态分解方法可对预测因子的历史数据进行分解,其中VMD分解可以降低时间序列的非线性和波动性,不同于EMD,它可以避免模式混合的负面影响。不同的模态分量对预测结果有不同的影响,通过将它们分离并与输入注意机制相结合,VBAED具有自适应选择重要模式的能力,从多个模式中过滤掉噪声模式,并关注包含重要信息的模式,这将引导神经网络更专注地学习更复杂的特征,从而能够提高预测精度。

参考文献

[1] Jing Bi, Zexian Chen, Haitao Yuan, Jia Zhang “Accurate water quality prediction with attention-based bidirectional LSTM and encoder–decoder”, [J] https://doi.org/10.1016/j.eswa.2023.121807

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

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

相关文章

ESP32系统监测(基于ESP-IDF)

主要参考资料: CSDN文章《ESP32 IDF开发调试奇技淫巧》: https://blog.csdn.net/qq_43332314/article/details/131859971 目录 查询系统剩余堆/最小堆大小查询线程剩余栈大小方法一方法二 查询CPU占用率 查询系统剩余堆/最小堆大小 查询系统剩余堆、最小堆大小的 A…

加速Python循环的12种方法,最高可以提速900倍

在本文中,我将介绍一些简单的方法,可以将Python for循环的速度提高1.3到900倍。 Python内建的一个常用功能是timeit模块。下面几节中我们将使用它来度量循环的当前性能和改进后的性能。 对于每种方法,我们通过运行测试来建立基线&#xff0…

redis的设计与实现(五)——独立功能

1. Redis的其他功能 redis 除了简单对对象的增删改查的功能之外,其实还有其他高级功能,了解这些内容有利于我们更灵活的使用 redis 完成我们的业务功能。 2. 发布与订阅 2.1. 基本概念 很多中间件都有发布与订阅功能,但是,作为一…

拯救鲨鱼!Helping wireshark!wireshark未响应解决方法

前言 做题的的时候 在用wireshark解密tls秘钥的时候 我的小鲨鱼突然未响应了 然后我多次尝试无果 并且殃及池鱼 我电脑上所有的流量包都打不开了?!!! 于是乎 尝试删了重下 还是未响应 开始怀疑电脑 重启电脑两次 还是打…

浏览器原理---事件循环

浏览器原理 学习浏览器原理对于我们开发是很有必要的 我们可以了解到浏览器内部工作原理对自己的代码进行优化 进程线程 首先了解进程和线程 进程就就是内存在正在进行的应用程序 在内存中独占一个内存空间 并且进程之间是隔离的 可以看到每个应用都有一个进程 占用空间内存…

Java | Leetcode Java题解之第25题K个一组翻转链表

题目: 题解: class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode hair new ListNode(0);hair.next head;ListNode pre hair;while (head ! null) {ListNode tail pre;// 查看剩余部分长度是否大于等于 kfor (int i 0…

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题4

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题4 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发 任务书,赛题,解析等资料,知识点培训服务 添加博主wx:liuliu548…

【4月14日】云服务器选购建议 搭建网站、大学生毕设、博客 阿里云 腾讯云 京东云价格对比图

更新日期:4月14日(腾讯云小幅涨价,阿里云继续保持1.5折,京东云采购季持续进行) 本文纯原创,侵权必究 《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为…

多模态对齐方案

最全 LMM 模型结构(13种)综述本文中我们介绍了 13 中常见的大型多模态模型(Large Multimodal Models, LMM),包括 BLIP-2,LLaVA、MiniGPT、Qwen-VL 以及 Ferret 等。https://mp.weixin.qq.com/s/EnK7F0yPYmX…

【浅学】大模型(科普向_持续更新中)

1. 大模型概述 大模型是指具有数千万甚至数亿参数的深度学习模型。 当我们提及大模型时,通常指的是大语言模型(Large Language Model,简称LLM),即文字问答模型,其典型代表便是OpenAI的GPT系列。然而&…

LLM--RAG中的文本切分策略及长上下文窗口是否会取代RAG?

1. 文本切割 在使用基于检索的生成模型(RAG)处理长文本数据时,合理的文本切割策略是提高模型性能和效率的关键。 1.1.文本切割策略核心参数 文本切割策略主要依赖于两个参数:chunksize(块大小)和overlap…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.6 年初操作:科目余额结转

2.6.6 年初操作:科目余额结转 在使用事务代码 FAGLB03 查询科目余额时,可以看到按期间的发生额清单。其中,第一行称为“余额结转”,该行的累计余额代表上年度遗留下来的余额,也就是年初余额。对于资产负债表科目而言&a…

可视化大屏C位图:​地理信息—地球焦点图

Hello,我是大千UI工场,本期可视化大屏的焦点图(C位)分享将地球作为焦点图的情形,欢迎友友们关注、评论,如果有订单可私信。 将地球作为可视化大屏焦点图可以有以下几个作用: 全球数据展示&…

64B/66B GT Transceiver 配置

一、前言 前一篇文章已经讲述了64B/66B的编码原理,此篇文章来配置一下7系列GT的64B/66B编码。并讲述所对应的例子工程的架构,以及部分代码的含义。 二、IP核配置 1、打开7 Series FPGAs Transceiver Wizards,选择将共享逻辑放置在example …

7.Hexo主题安装和自定义

一个Hexo主题,基本上只是一组HTML、CSS和JavaScript文件来定义布局的外观和感觉 在默认情况下,Hexo会附带一个主题,landscape主题 这个主题就比较可靠,确实有效 如果想要使用不同的主题,可以下载并安装一个主题&…

OpenHarmony开源三方库的cmake在IDE上直接引用的问题

前言 DevEco Studio的native工程的C/C部分当前只支持cmake脚本的编译,工程的目录结构如下图所示 在工程中引用第三方库有如下三种方式, 一、find_package模式 通过find_package,可以在指定目录下去搜索已安装的库(三方库构建完后…

从零实现诗词GPT大模型:专栏内容规划

一、前情介绍 本系列文章将从头编写一个类GPT的深度学习模型,并在诗词数据集上进行训练,从而可以进行诗词创作。 本次实现的类GPT模型,可以在kaggle上使用免费GPU进行训练,并可以在自己的电脑上进行推理,整个学习过程…

申请OV SSL证书

OV证书,即Organization Validation证书,是一种SSL/TLS证书类型,主要用于企业级应用,例如教育、政府、互联网等行业的大型企业和政府机关部门。与基础的域名验证(DV)证书相比,OV证书的验证过程更…

入门:多层感知器Multiple-Layer Perceiver, MLP

本文将简单介绍多层感知器(MLP)的基本概念、原理和应用。MLP是一种前馈人工神经网络,由多层节点组成,每层节点通过权重和偏置与下一层节点相连。MLP在许多领域都有广泛的应用,如分类、回归、自然语言处理等。 本文将分…

Android Studio引入framework.jar包

一. 前言 Android Studio 引入framework.jar 步骤,记录笔记 Android源码编译产生的framework.jar 在不同的版本上生成路径是不同的 Android N/O: 7 和 8 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar Android P/Q: 9 和 10 out/s…