从多模态生物图数据中学习Gene的编码-MuSeGNN

由于数据的异质性,在不同的生物医学背景下发现具有相似功能的基因对基因表示学习提出了重大挑战。在本研究中,作者通过引入一种称为多模态相似性学习图神经网络的新模型来解决这个问题,该模型结合了多模态机器学习和深度图神经网络,从单细胞测序和空间转录组数据中学习基因表示。利用来自10个组织、3种测序技术和3个物种的82个训练数据集,作者创建了用于模型训练和基因表示生成的信息图结构,同时结合正则化与加权相似学习和对比学习来学习跨数据集的基因-基因关系。这种新颖的设计确保了我们可以在联合空间中提供包含不同上下文功能相似性的基因表示。全面的基准分析表明,模型能够有效地捕获多种模态下的基因功能相似性,在基因表示学习方面比最先进的方法高出97.5%。此外,作者将生物信息学工具与基因表征相结合,以揭示pathway富集、调控网络以及疾病相关或剂量敏感基因的功能。因此,该模型有效地为基因功能、组织功能、疾病和物种进化的分析提供了统一的基因表示。

来自:MuSe-GNN: Learning Unified Gene Representation From Multimodal Biological Graph Data
工程地址:https://github.com/HelloWorldLTY/MuSe-GNN

目录

  • 背景概述
  • 相关工作
    • 基因共表达网络分析
    • 基于网络的生物表示学习
    • 图Transformer
  • 方法
    • 前言
    • 图构建
    • Cross-Graph Transformer
    • 图重建损失
    • 相似性权重学习
    • 自监督图对比学习
  • Reference

背景概述

生物技术的进步扩大了生物数据的多样性。这种技术的一个主要例子是单细胞测序,它允许对单个细胞内的遗传信息进行全面表征。该技术提供了获取细胞转录组学、表观基因组学和蛋白质组学全部信息的途径,包括基因表达scRNA-seq、染色质可及性scATAC-seq、甲基化和抗体。通过对来自同一组织的不同时间点的细胞进行测序,我们还可以深入了解细胞活动随时间变化的模式。此外,细胞活动的空间信息代表了一个同样重要的额外维度。这样的数据被定义为空间数据。所有这些数据都被称为多组学数据,整合多组学数据是一个重大挑战。

然而,传统的以细胞为anchor的多组学数据整合思路不是完全适用的[56,87,39],因为存在以下挑战:

  • 不同组学数据本身具有挑战。例如,空间转录组数据的观察单位与其他单细胞数据不同,因为单个空间位置包含来自不同细胞的混合信息(见图1a左侧部分),因此不适合基于基因表达相似性生成空间簇。目前的研究也表明染色体可及性特征并不是细胞水平上基因表达的有力预测因子[86]。
  • atlas-level的研究中庞大的数据量对高性能计算提出了挑战,往往存在内存不足或超时错误的风险。由于人体有近37.2万亿个细胞,综合分析在计算上具有很大的难度。而且,严重的批次效应可能通过引入噪声对分析结果产生不利影响。

因此,迫切需要一种专注于多组学和多组织数据(称为多模态生物数据)分析的高效而强大的方法来应对这些挑战。

由于认识到细胞导向的观点所带来的困难,先前的工作开始将重点转移到基因视角。基于物种进化过程中的自然选择,使用基因集作为表达谱的总结,可能会提供更可靠的依据[8]。蛋白质编码相关的基因也被认为与药物具有相互作用[19],这与疾病和药物发现更相关。Gene2vec是受Word2vec启发的一种方法,它通过从共表达网络中生成skip-gram对来学习基因表示。最近,基于Node2vec和OhmNet的基于基因的数据整合与分析技术(gene -based data Integration and ANalysis Technique, GIANT)[16]被开发出来,用于学习单细胞和空间数据集中的基因表示。然而,如图1b所示,基于这两种模型的基因嵌入,没有观察到来自不同数据集但同一组织的基因的显著功能聚类,因为这些方法没有从不同的多模态数据推断相关基因的相似性。此外,他们没有提供定量评估基因嵌入性能的指标。

在这里,作者从基因的角度介绍了一种新的多模态相似学习图神经网络MuSe-GNN,用于多模态生物数据整合。MuSe-GNN的整体工作流程如图1a所示。图1b显示与GIANT和Gene2vec相比,MuSe-GNN通过合适的模型结构和新颖的损失函数,在跨数据集的基因之间学习功能相似性的能力更强。MuSe-GNN利用权值共享GNN将不同模态的基因编码到一个由相似学习策略和对比学习策略正则化的共享空间中。在单图层面,图神经网络的设计保证了MuSe-GNN能够学习到每个共表达网络中的邻居信息,从而保持基因功能的相似性。在跨数据层面,相似学习策略确保MuSe-GNN能够将功能相似的基因整合到一个共同的簇中,而对比学习策略则有助于区分功能不同的基因。

fig1

  • 图1:介绍了MuSe-GNN的工作流程、基因嵌入的可视化以及GIANT和Gene2vec两种现有方法存在的问题。
  • a:MuSe-GNN学习基因嵌入的过程。在这里,作者强调单细胞数据和空间数据的区别,以及基因嵌入的主要应用。单细胞数据中的每个点代表一个细胞,而空间数据中的每个点代表混合细胞。
  • b:MuSe-GNN、Gene2vec和GIANT基因嵌入的UMAPs。它们是按数据集着色的。基于UMAPs,可以得出结论,Gene2vec和GIANT都未能基于来自同一组织的数据集学习基因相似性,而MuSe-GNN产生了与数据集无关的有意义的嵌入。

这是第一篇将多模态机器学习MM-ML概念与GNNs设计相结合的基因表示学习论文。这两种方法在SOTA机器学习研究中都很普遍,这激发了作者将它们应用于大规模多模态生物数据集的联合分析。作为应用实例,作者首先使用MuSe-GNN生成的基因嵌入来研究人体基因调控的关键生物过程和网络。然后,还将该模型应用于分析COVID和癌症数据集,旨在揭示基于特定差异共表达基因的潜在抗病机制或并发症。最后,利用MuSe-GNN的基因嵌入来提高基因功能的预测精度。在这里,基因共表达意味着两个基因与同一边相连。

鉴于缺乏评估基因嵌入的明确指标,作者提出了六个指标,灵感来自单细胞数据分析中的批次整合问题。作者使用来自一种技术的真实生物数据集来评估模型,基准测试结果表明MuSe-GNN在综合评估中从20.1%显着提高到97.5%。为了总结模型的优势,MuSe-GNN解决了关于跨数据基因相似性学习的问题,并提供了四个主要贡献:

  • 为多结构生物数据提供了一种有效的表示学习方法。
  • 将来自不同组学和组织数据的基因整合到一个联合空间中,同时保留生物异质性。
  • 用相似性函数识别共表达基因。
  • 推断基因的特殊网络以及基因与生物通路或基因与疾病之间的关系。

相关工作

基因共表达网络分析

虽然跨模态的基因功能联合分析的直接尝试是有限的,目前在识别基于单个数据集的相关网络方面存在研究。WGCNA[52]是一种采用分层聚类识别具有共享功能基因模块的代表性方法。然而,作为一种早期工具,WGCNA的功能有限。总之,对共表达网络的推断需要更严格的方法,并且应该应用于多模态数据。

基于网络的生物表示学习

除了直接生成基因共表达网络外,也可以在低维空间中学习定量的基因表示从而更好地描述基因关系并促进下游分析。Gene2vec基于给定数据库的共表达网络生成基因嵌入。然而,它忽略了表达谱信息,并基于2017年之前的旧基因表达Omnibus (GEO)。GIANT利用Node2vec和OhmNet,通过构造图进行训练,从单细胞和空间数据集中学习基因表示。然而,这种方法仍然通过去除表达谱来过度压缩多模态生物数据集。此外,由Pearson correlation建立的共表达网络具有较高的假阳性率。此外,GIANT使用的一些数据集质量很低。也有一些方法共享了从其他数据集学习嵌入的类似目标。GSS旨在使用主成分分析(PCA)和聚类分析从bulk-seq数据集中学习一组所有基因的通用表示。然而,它是用于bulk测序数据,不能直接应用于来自不同组织的单细胞数据集。Gemini[103]专注于整合不同的蛋白质功能网络,用图节点代表蛋白质而不是基因。

图Transformer

在深度学习领域,Transformer是最成功的模型之一,它利用了seq2seq结构设计、多头自注意力设计和位置编码设计。许多研究人员试图将Transformer的优点结合到图结构学习中。TransformConv[81]为监督分类任务的图版本引入了多头注意机制,并取得了显著的改进。MAGNA[98]考虑图数据中更高层次的跳关系来增强节点分类能力。Graphomer [110] 使用来自 Open Graph Benchmark Large-Scale Challenge 的数据展示了 Transformer 结构对各种任务的积极影响,GraphomerGD [111] 进一步扩展了该挑战。最近,GPS[75]通过考虑额外的编码类型,提出了一种通用的Graph Transformer。此外,Transformer架构也为一些生物学问题提供了解决方案[113]。scBERT使用预训练模型生成基因和细胞嵌入,以提高细胞类型注释的准确性。总之,这些努力的实质影响突出了Transformer结构对Graph数据学习的重要贡献。

方法

在介绍MuSe-GNN的以下部分中,作者详细说明利用多模态生物数据构建图的不同方法,然后解释所提出的权重共享网络架构和最终损失函数的元素。

前言

GNN,GNNs旨在学习具有图结构数据的节点(特征)的图表示。现代GNNs通过聚合其 k k k阶邻居( k ≥ 1 k≥1 k1)的表示并将其与当前表示结合来迭代更新节点的表示。考虑一个图 G = { V , E } G=\left\{V,E\right\} G={V,E},其节点为 V = { v 1 , . . . , v n } V=\left\{v_{1},...,v_{n}\right\} V={v1,...,vn},节点 v i v_{i} vi的聚合与更新为: a i ( l + 1 ) = A G G R E G A T E ( l + 1 ) ( { h j ( l ) : j ∈ N ( v i ) } ) h i ( l + 1 ) = C O M B I N E ( l + 1 ) ( h i ( l ) , a i ( l + 1 ) ) a_{i}^{(l+1)}=AGGREGATE^{(l+1)}(\left\{h_{j}^{(l)}:j\in N(v_{i})\right\})\\ h_{i}^{(l+1)}=COMBINE^{(l+1)}(h_{i}^{(l)},a_{i}^{(l+1)}) ai(l+1)=AGGREGATE(l+1)({hj(l):jN(vi)})hi(l+1)=COMBINE(l+1)(hi(l),ai(l+1))其中, h i ( l ) h_{i}^{(l)} hi(l) h i ( l + 1 ) h_{i}^{(l+1)} hi(l+1)分别是MPNN前后的节点特征。

问题定义,通过处理多模态生物数据集来解决基因嵌入生成任务,表示为 D = ( { V i , E i } i = 1 T ) D=(\left\{V_{i},E_{i}\right\}_{i=1}^{T}) D=({Vi,Ei}i=1T)。目标是构建模型 M ( ⋅ , θ ) M(\cdot,\theta) M(,θ),设计产生基因embedding集 ε = { e 1 , . . . , e T } = M ( D , θ ) \varepsilon=\left\{e_{1},...,e_{T}\right\}=M(D,\theta) ε={e1,...,eT}=M(D,θ)。本质上,目标是在统一的投影空间内协调来自不同模态的基因信息,从而产生统一的基因表示。

图构建

在构建基因图之前,作者的第一个贡献涉及每个数据集的高可变基因hvg的选择。这些hvg构成了一组具有高度变异的基因,可以代表给定表达谱的生物学功能。此外,作者认为共表达网络对基因表征学习很重要,因为它使我们能够表征基因与基因之间的关系。由于测序深度(测序深度越高,我们对于每个单细胞的RNA表达数据就越准确和全面),或每个细胞的总计数,经常成为共表达网络推断的一个混淆因素[11],作者采用了两种独特的方法,scTransform和CS-CORE,来处理scRNA-seq和scATAC-seq数据,从而创建不受测序深度影响的基因表达谱和共表达网络(基于多模态单细胞数据构建共表达网络-MuSeGNN)。对于空间转录组学数据,重点是显示具有空间表达模式的基因。作者使用SPARK-X识别这些基因,然后应用scTransform和CS-CORE。在生成的所有图中,节点代表基因,边代表基因的共表达关系。

Cross-Graph Transformer

为了在训练过程中利用Transformer模型的优势,作者集成了一个具有多头自注意设计的图神经网络,称为TransformerConv,以合并共表达信息并生成基因嵌入。结合多模态信息可以估计出更准确的基因嵌入。cross-graph transformer可以在不同的图中高效地学习包含基因功能的基因嵌入。

TransformerConv
c c c作为注意力头的index,从节点 j j j到节点 i i i的GNN多头注意力表示为: q c , i ( l ) = W c , q ( l ) h i ( l ) + b c , q ( l ) k c , j ( l ) = W c , k ( l ) h j ( l ) + b c , k ( l ) e c , i j = W c , e e i j + b c , e α c , i j ( l ) = < q c , i ( l ) , k c , j ( l ) , e c , i j > ∑ u ∈ N ( i ) < q c , i ( l ) , k c , u ( l ) , e c , i u > q_{c,i}^{(l)}=W_{c,q}^{(l)}h_{i}^{(l)}+b_{c,q}^{(l)}\\ k_{c,j}^{(l)}=W_{c,k}^{(l)}h_{j}^{(l)}+b_{c,k}^{(l)}\\ e_{c,ij}=W_{c,e}e_{ij}+b_{c,e}\\ \alpha_{c,ij}^{(l)}=\frac{<q_{c,i}^{(l)},k_{c,j}^{(l)},e_{c,ij}>}{\sum_{u\in N(i)}<q_{c,i}^{(l)},k_{c,u}^{(l)},e_{c,iu}>} qc,i(l)=Wc,q(l)hi(l)+bc,q(l)kc,j(l)=Wc,k(l)hj(l)+bc,k(l)ec,ij=Wc,eeij+bc,eαc,ij(l)=uN(i)<qc,i(l),kc,u(l),ec,iu><qc,i(l),kc,j(l),ec,ij>其中, < q , k , e > = e q T k d <q,k,e>=e^{\frac{q^{T}k}{\sqrt{d}}} <q,k,e>=ed qTk d \sqrt{d} d 是用于减少梯度消失的标量。不同的 q q q k k k代表不同的query vector和key vector, e e e代表边的特征。注意力 α c , i j ( l ) \alpha_{c,ij}^{(l)} αc,ij(l)代表第 c c c个注意力头(第 l l l层)输出的从节点 j j j i i i的注意力值。 h h h代表节点embedding。

定义节点embedding h i ( l + 1 ) h_{i}^{(l+1)} hi(l+1)的更新为: v c , j ( l ) = W c , v ( l ) h j ( l ) + b c , v ( l ) h i ( l + 1 ) = ∣ ∣ c = 1 C [ ∑ j ∈ N ( i ) α c , i j ( l ) ( v c , j ( l ) + e c , i j ) ] v_{c,j}^{(l)}=W_{c,v}^{(l)}h_{j}^{(l)}+b_{c,v}^{(l)}\\ h_{i}^{(l+1)}=||_{c=1}^{C}[\sum_{j\in N(i)}\alpha_{c,ij}^{(l)}(v_{c,j}^{(l)}+e_{c,ij})] vc,j(l)=Wc,v(l)hj(l)+bc,v(l)hi(l+1)=c=1C[jN(i)αc,ij(l)(vc,j(l)+ec,ij)]其中, ∣ ∣ c = 1 C ||_{c=1}^{C} c=1C表示 C C C个注意力头的concat。

权重共享
考虑到多模态生物数据集之间的差异性,作者采用了权重共享机制来确保模型在不同的图中学习共享信息,这代表了一种学习交叉图关系的新方法。

数据集和多模态Graph Transformer
对于来自相同模态 m m m的每个graph ( G 1 , G 2 , … , G n ) (G_1, G_2,…, G_n) (G1,G2,,Gn),作者不仅采用了数据集特定的GT layers L 1 , L 2 , … , L n L_1, L_2,…, L_n L1,L2,,Ln,而且还将所有这些数据集特定的layers连接到一组共享的GT层,记为 D m D_m Dm。该设计展示了作者将权重共享纳入GT框架的新方法。给定网络参数为 θ ∗ θ∗ θ的数据集 i i i,MuSe-GNN的计算过程定义如下: X i ′ = D m ( L i ( G i ; θ L i ) ; θ D m ) X_{i}'=D_{m}(L_{i}(G_{i};\theta_{L_{i}});\theta_{D_{m}}) Xi=Dm(Li(Gi;θLi);θDm)

Datasets Decoder
作者提出了一种基于MLP的数据集专用解码器结构。该解码器模型对于重建不同基因之间的共表达关系至关重要。给定图 G i G_i Gi及其对应的基因嵌入 e i e_i ei,则网络参数为 θ d e c , i θ_{dec,i} θdec,i的MuSe-GNN解码过程定义如下: E r e c = M L P ( e i e i T ; θ d e c , i ) E_{rec}=MLP(e_{i}e_{i}^{T};\theta_{dec,i}) Erec=MLP(eieiT;θdec,i)其中 E r e c E_{rec} Erec代表重建的共表达网络。

图重建损失

在单个Graph中,作者实现了一个受图自编码器(GAE)启发的损失函数。这个函数的目的是保持两个关键方面:1具有共同功能的基因之间的相似性,2具有不同功能的基因之间的区别。这种对GAE的损失函数使用构成了对方法设计的贡献。对于图 G i = { V i , E i } G_{i}=\left\{V_{i}, E_{i}\right\} Gi={Vi,Ei},定义edge重建的损失函数为: e i = D m ( L i ( G i ; θ L i ) ; θ D m ) E r e c = M L P ( e i e i T ; θ d e c , i ) e_{i}=D_{m}(L_{i}(G_{i};\theta_{L_{i}});\theta_{D_{m}})\\ E_{rec}=MLP(e_{i}e_{i}^{T};\theta_{dec,i}) ei=Dm(Li(Gi;θLi);θDm)Erec=MLP(eieiT;θdec,i)然后计算 E r e c E_{rec} Erec E i E_{i} Ei之间的BCE L B C E L_{BCE} LBCE(因为重建的是edge)。

相似性权重学习

为了整合来自不同数据集的共享生物信息,作者将输入图结构的重建损失与余弦相似学习损失融合在一起。在这个过程中,作者将每对数据集之间的共同HVG作为anchors。目标是最大化跨数据集的公共HVG的embedding相似度 c o s ( a , b ) cos(a,b) cos(a,b)(图2中的黄色blocks)。然而,在实践中,不同的公共HVG在两个数据集中可能具有不同程度的功能相似度,这很难直接量化。因此,作者采用共享社区得分作为间接度量,将其作为最终损失函数中不同公共HVG pairs余弦相似度的权重。

对于两个Graph G i G_{i} Gi G j G_{j} Gj,其中有一个共享基因 g g g,作者在两个图中得到了给定基因 g g g的共表达基因,记为 N i g N_{ig} Nig N j g N_{jg} Njg。因此,基因 g g g的权值 λ i j g λ_{ijg} λijg可表示为: λ i j g = ∣ N i g ∩ N j g ∣ ∣ N i g ∪ N j g ∣ λ_{ijg}=\frac{|N_{ig}\cap N_{jg}|}{|N_{ig}\cup N_{jg}|} λijg=NigNjgNigNjg我们可以在这两个图之间从1到 n n n遍历所有共享基因,最终得到一个向量 λ i j = [ λ i j 1 , . . . , λ i j n ] \lambda_{ij}=[\lambda_{ij1},...,\lambda_{ijn}] λij=[λij1,...,λijn]。该向量封装了所有公共HVG中两个图之间的相似性。然后,我们可以修改各种基因pair的余弦相似度,首先将这个向量与余弦相似度相乘,然后将所有基因的结果值相加。最终结果取负得到相似度损失 L s i m L_{sim} Lsim

自监督图对比学习

具体而言,在整合多模态生物数据时,作者采用了对比学习策略,以确保功能相似的基因尽可能紧密地聚集在一起,而功能不同的基因则相互分离。作者利用信噪比估计(InfoNCE)作为损失函数的一部分来最大化anchor基因和具有相同功能的基因之间的相互信息。这种损失适用于训练过程中任意两个Graph中的不同基因。一般来说,如果我们表示 N N N个基因的embedding为 G e n e N = { e 1 , . . . , e N } Gene_{N}=\left\{e_{1},...,e_{N}\right\} GeneN={e1,...,eN},InfoNCE被设计为最小化: L i n f o N C E = − E [ l o g e x p ( e ⋅ k + / τ ) ∑ i = 0 K e x p ( e ⋅ k i / τ ) ] L_{infoNCE}=-\mathbb{E}[log\frac{exp(e\cdot k_{+}/\tau)}{\sum_{i=0}^{K}exp(e\cdot k_{i}/\tau)}] LinfoNCE=E[logi=0Kexp(eki/τ)exp(ek+/τ)]其中,样本 { k 0 , k 1 , k 2 … } \left\{k_0, k_1, k_2…\right\} {k0,k1,k2}组成一组基因嵌入,称为一个字典, e e e是一个query基因嵌入。 k + k_{+} k+ k i k_{i} ki分别是 e e e的正样本和负样本。

fig2

  • MuSe-GNN的整体模型架构和损失函数设计。

Reference

[8]Computational principles and challenges in single-cell data integration
[11]Depth normalization for single-cell genomics count data
[16]A unified analysis of atlas single cell data
[19]Dgidb 3.0: a redesign and expansion of the drug–gene interaction database
[39]Integrated analysis of multimodal single-cell data
[52]Wgcna: an r package for weighted correlation network analysis
[56]Clustering of single-cell multi-omics data with a multimodal deep learning method
[75]Recipe for a general, powerful, scalable graph transformer
[81]Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
[86]Dynamic genetic regulation of gene expression during cellular differentiation
[87]Comprehensive Integration of Single-Cell Data
[98]Multi-hop attention graph neural networks
[103]Gemini: memory-efficient integration of hundreds of gene networks with high-order pooling
[110]Do transformers really perform badly for graph representation?
[111]Rethinking the expressive power of GNNs via graph biconnectivity
[113]Applications of transformer-based language models in bioinformatics: A survey

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

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

相关文章

JS 利用 webcam访问摄像头 上传到服务器

webcam JS 较为详细的指南 定义标题 <!doctype html> <html> <head><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>How to capture picture from webcam with Webcam.js</title></…

stm32开发之threadx使用记录(主逻辑分析)

前言 threadx的相关参考资料 论坛资料、微软官网本次使用的开发板为普中科技–麒麟&#xff0c;核心芯片为 stm32f497zgt6开发工具选择的是stm32cubemx(代码生成工具)clion(代码编写工具)编译构建环境选择的是arm-none-gcc编译 本次项目结构 CMakeList对应的配置 set(CMAKE_…

Thinkphp5萤火商城B2C小程序源码

源码介绍 Thinkphp5萤火商城B2C小程序源码&#xff0c;是一款开源的电商系统&#xff0c;为中小企业提供最佳的新零售解决方案。采用稳定的MVC框架开发&#xff0c;执行效率、扩展性、稳定性值得信赖。 环境要求 Nginx/Apache/IIS PHP5.4 MySQL5.1 建议使用环境&#xff…

微信小程序开发学习笔记——4.6tabBar底部tab栏配置用法

>>跟着b站up主“咸虾米_”学习微信小程序开发中&#xff0c;把学习记录存到这方便后续查找。 一、tabBar https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#tabBar 二、icon下载 https://www.iconfont.cn/collections/index?spma…

C++学习——指针篇

本篇文章记录我学习C的指针内容&#xff0c;希望我的分享能给你带来不一样的收获&#xff01; 目录 一、指针有什么好处 二、什么是指针 三、C指针内容详解 &#xff08;一&#xff09;、空指针&#xff08;Null&#xff09; &#xff08;二&#xff09;、指针的算数运算 …

DL00198-基于3DUnet的脑肿瘤语义分割完整代码+数据集含输出结果

完整代码数据集见文末 3DUNet是一种卷积神经网络&#xff08;CNN&#xff09;&#xff0c;专为处理3D图像而设计。它基于U-Net架构&#xff0c;是一种对称的卷积网络&#xff0c;具有上采样和下采样的过程。PyTorch 3DUNet在U-Net的基础上添加了更多的卷积层和跳跃连接&#xf…

在git上先新建仓库-把本地文件提交远程

一.在git新建远程项目库 1.选择新建仓库 以下以gitee为例 2.输入仓库名称&#xff0c;点击创建 这个可以选择仓库私有化还公开权限 3.获取仓库clone链接 这里选择https模式就行&#xff0c;就不需要配置对电脑进行sshkey配置了。只是需要每次提交输入账号密码 二、远…

网站基本建设基本上步骤

网站基本建设基本上步骤 一.领取一个免费域名和SSL证书&#xff0c;和CDN 1.打开网站链接&#xff1a;https://www.rainyun.com/ycpcp_ 首先创建一个CDN&#xff0c;这里以我加速域名“cdntest.biliwind.com 1”为例 这里就要填写 cdntest.biliwind.com 1 &#xff0c;而不是…

4.1 JavaScript的使用

JavaScript有两种使用方式&#xff1a;一是在HTML文档中直接添加代码&#xff1b;二是将JavaScript脚本代码写到外部的JavaScript文件中&#xff0c;再在HTML文档中引用该文件的路径地址。 这两种使用方式的效果完全相同&#xff0c;可以根据使用率和代码量选择相应的开发方式。…

Qt5.15以上版本在线安装步骤,可选择更多早期版本

以ubuntu系统为例&#xff1a; 1、先去下载在线安装程序&#xff1a; https://download.qt.io/official_releases/online_installers/ 选择合适的版本&#xff0c;这里是在x64机器的ubuntu虚拟机里安装QT&#xff0c;所以选择如下版本&#xff1a; 或者直接在终端执行如下命令…

Qt | 元对象系统

一、QByteArray 类简介 1、QByteArray 类简介  该类是一个用于处理字符串的类似于 C++的 string 类型的类,在 Qt 中,对字符串的处理,经常使用的是 QString 类,该类保证字符串以\0结尾,并使用隐式共享(copy-on-write)来减少内存用量和不必要的数据复制。  QByteArra…

【ControlNet v3版本论文阅读】

网络部分最好有LDM或者Stable Diffusion的基础&#xff0c;有基础的话会看的很轻松 Abstract 1.提出了一种网络结构支持额外输入条件控制大型预训练的扩散模型。利用预训练模型学习一组不同的条件控制。 2.ControlNet对于小型&#xff08;<50k&#xff09;或大型&#xff…

Halcon的HWindowControl控件在C#WinForm中的使用介绍(包括绘制ROI)

Halcon的HSmartWindowControl控件在C#WinForm中的使用介绍&#xff08;包括绘制ROI&#xff09; 文章目录 Halcon的HSmartWindowControl控件在C#WinForm中的使用介绍&#xff08;包括绘制ROI&#xff09;一、 引入hSmartWindowControl控件二、 编写打开图像功能三、 编写绘制RO…

操作系统②——内存管理

1. 栈、堆 1.1 程序的内存分配 栈区&#xff08;stack&#xff09;&#xff1a;由编译器自动分配释放 &#xff0c;存放函数的参数值&#xff0c;局部变量的值等。其操作方式类似于数据结构中的栈。堆区&#xff08;heap&#xff09;&#xff1a;一般由程序员分配释放&#x…

光猫桥接模式详细步骤

目录 一、前言 路由模式 &#xff08;宽带默认&#xff09; 桥接模式 二、桥接模式步骤 &#xff08;一&#xff09;图片记录备份 设备信息图 网络侧信息 远程管理密码 宽带上网设置 &#xff08;二&#xff09;桥接模式开始 光猫设置 路由器设置 一、前言 重点&a…

2_5.Linux存储的基本管理

实验环境&#xff1a; 系统里添加两块硬盘 ##1.设备识别## 设备接入系统后都是以文件的形式存在 设备文件名称&#xff1a; SATA/SAS/USB /dev/sda,/dev/sdb ##s SATA, dDISK a第几块 IDE /dev/hd0,/dev/hd1 ##h hard VIRTIO-BLOCK /de…

sharding‐jdbc之分库分表(mysql主从同步的数据库安装和使用)

水平分表 创建基础工程.. 引入sharding‐jdbc的maven依赖包 注意需要数据库连接池等依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1&l…

【JavaWeb】Day36.MySQL概述——数据库设计-DDL(三)

查询 关于表结构的查询操作&#xff0c;工作中一般都是直接基于图形化界面操作。 1.查询当前数据库所有表 2.查看指定表结构 3.查询指定表的建表语句 注意&#xff1a;23版的点击导航中的转到DDL 修改 关于表结构的修改操作&#xff0c;一般也是直接基于图形化界面操作。 添…

智能感应门改造工程

今天记录一下物联网专业学的工程步骤及实施过程 智能感应门改造工程 1 规划设计1.1 项目设备清单1.2项目接线图 软件设计信号流 设备安装与调试工程函数 验收 1 规划设计 1.1 项目设备清单 1.2项目接线图 软件设计 信号流 设备安装与调试 工程函数 工程界面: using System; …

【STM32】存储器和位带映射(bit band mapping)

文章目录 0 前言1 关于地址和存储器2 STM32内部存储器3 位带映射&#xff08;bit band mapping&#xff09;4 扩展&#xff1a;IAP 0 前言 最近在研究stm32标准库&#xff0c;对使用宏定义实现位操作的函数非常感兴趣&#xff0c;简单的一句PAout(1) 0;就能实现某个引脚电平的…