国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【計算機(jī)視覺】Vision Transformer (ViT)詳細(xì)解析

這篇具有很好參考價值的文章主要介紹了【計算機(jī)視覺】Vision Transformer (ViT)詳細(xì)解析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【計算機(jī)視覺】Vision Transformer (ViT)詳細(xì)解析

1. 介紹

論文地址:An Image Is Worth 16x16 Words: Transformers For Image Recognition At Scale
code地址:github.com/google-research/vision_transformer

Transformer 最早提出是針對NLP領(lǐng)域的,并且在NLP領(lǐng)域引起了強(qiáng)烈的轟動。

  • 提出ViT模型的這篇文章題名為 《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》,發(fā)表于2020年10月份;
  • 雖然相較于一些Transformer的視覺任務(wù)應(yīng)用模型 (如DETR) 提出要晚了一些,但作為一個純Transformer結(jié)構(gòu)的視覺分類網(wǎng)絡(luò),其工作還是有較大的開創(chuàng)性意義的。
  • 關(guān)于Transformer的部分理論之前的博文中有講 Transformer 結(jié)構(gòu)細(xì)節(jié)理論解析。
  • 這篇文章實驗中,給出的最佳 vit 模型(先在Google的JFT數(shù)據(jù)集上進(jìn)行了預(yù)訓(xùn)練)然后在ImageNet1K(finetune)上能夠達(dá)到88.55%的準(zhǔn)確率,說明Transformer在CV領(lǐng)域確實是有效的,而且效果還挺驚人。
    vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)

2. VIT 模型

ViT的核心流程包括:

  • 圖像分塊處理 (make patches)
  • 圖像塊嵌入 (patch embedding)與位置編碼、
  • Transformer編碼器
  • MLP分類處理等4個主要部分。

下面分別從這四個流程部分來闡述ViT的基本設(shè)計。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


2.1 圖像分塊處理 (make patches)

第一步可以看作是一個圖像預(yù)處理步驟。

  • 在CNN中,直接對圖像進(jìn)行二維卷積處理即可,不需要特殊的預(yù)處理流程。
  • 但Transformer結(jié)構(gòu)不能直接處理圖像,在此之前需要對其進(jìn)行分塊處理。(序列化)

假設(shè)一個圖像 I ∈ H × W × C I∈H×W×C IH×W×C,

  • 現(xiàn)在將其分成大小為 P × P × C 的 p a t c h e s P×P×C 的patches P×P×Cpatches,那么就會有 N = H W P 2 N= \frac{HW}{P^2} N=P2HW? 個patches,全部patches的維度就可以寫為 N × P × P × C N×P×P×C N×P×P×C。
  • 然后將每個patch進(jìn)行展平,相應(yīng)的數(shù)據(jù)維度就可以寫為 N × ( P 2 × C ) N×(P^2×C) N×(P2×C),也就是shape變成了( N , P 2 × C N, P^2×C N,P2×C)。

這里 N N N 可以理解為輸入到Transformer的序列長度, C C C 為輸入圖像的通道數(shù), P P P 為圖像patch的大小。(這樣也就符合了transformer的輸入)


2.2 圖像塊嵌入與位置編碼

2.2.1 圖像塊嵌入 (patch embedding)

2.1 中的圖像分塊僅僅是一道預(yù)處理流程,要將 N × ( P 2 × C ) N×(P^2×C) N×(P2×C) 的向量維度,轉(zhuǎn)化為N×D大小的二維輸入,還需要做一個圖像塊嵌入的操作。

  • 類似NLP中的詞嵌入,塊嵌入也是一種將高維向量轉(zhuǎn)化為低維向量的方式。

所謂圖像塊嵌入,其實就是對每一個展平后的 patch 向量做一個線性變換,即全連接層,降維后的維度為D。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)
上式中的 E E E 即為塊嵌入的全連接層,其輸入大小為 P 2 × C P^2×C P2×C(一維),輸出大小為D(也是一維)。

  • 值得注意的是,上式中給長度為 N N N 的向量還追加了一個分類向量,用于Transformer訓(xùn)練過程中的類別信息學(xué)習(xí)。
  • 假設(shè)將圖像分為 9個patch,即 N=9,輸入到Transformer編碼器中就有9個向量,但對于這9個向量而言,該取哪一個向量做分類預(yù)測呢?取哪一個都不合適。
  • 一個合理的做法就是人為添加一個類別向量,該向量是可學(xué)習(xí)的嵌入向量,與其他9個patch嵌入向量一起輸入到Transformer編碼器中,最后取第一個向量作為類別預(yù)測結(jié)果。
  • 所以,這個追加的向量可以理解為其他9個圖像patch尋找的類別信息。
2.2.2 位置編碼 (position encoding)

為了保持輸入圖像patch之間的空間位置信息,還需要對圖像塊嵌入中添加一個位置編碼向量,如上式中的 E p o s E_{pos} Epos? 所示。

  • ViT的位置編碼沒有使用更新的2D位置嵌入方法,而是直接用的一維可學(xué)習(xí)的位置嵌入變量,
  • 原因是論文作者發(fā)現(xiàn)實際使用時2D并沒有展現(xiàn)出比1D更好的效果。
    vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)

2.3 Transformer Encoder(編碼器)

Vit中所使用的Transformer 編碼器結(jié)構(gòu)和原文《Attention is all you need》中的一致,理論細(xì)節(jié)可以參考Transformer 詳解。

  • 主要還是使用了多頭注意力機(jī)制;
  • 另外,不像nlp領(lǐng)域中的翻譯任務(wù),vit 沒有利用解碼器的結(jié)構(gòu)。

Transformer Encoder 其實就是重復(fù)堆疊 Encoder Block L次,下圖是繪制的Encoder Block,主要由以下幾部分組成:

  • Layer Norm,這種Normalization方法主要是針對NLP領(lǐng)域提出的,這里是對每個token進(jìn)行Norm處理,之前也有講過Layer Norm不懂的可以參考LRN,BN,LN, IN, GN, FRN, WN, BRN, CBN, CmBN 詳解
  • Multi-Head Attention,這個結(jié)構(gòu)之前在講Transformer中很詳細(xì)的講過,不在贅述,不了解的可以參考 Transformer 詳解。
  • Dropout/DropPath,在原論文的代碼中是直接使用的Dropout層,在但rwightman實現(xiàn)的代碼中使用的是DropPath(stochastic depth),可能后者會更好一點。
  • MLP Block,如右圖所示,就是全連接+GELU激活函數(shù)+Dropout組成也非常簡單,需要注意的是第一個全連接層會把輸入節(jié)點個數(shù)翻4倍[197, 768] -> [197, 3072],第二個全連接層會還原回原節(jié)點個數(shù)[197, 3072] -> [197, 768]。

vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


2.4 MLP Head(全連接頭)

上面通過Transformer Encoder 后輸出的shape和輸入的shape是保持不變的,以ViT-B/16為例,輸入的是[197, 768]輸出的還是[197, 768]。

  • 注意,在Transformer Encoder后其實還有一個Layer Norm沒有畫出來,后面有細(xì)畫的 ViT 的模型可以看到詳細(xì)結(jié)構(gòu)。
  • 這里我們只是需要分類的信息,所以我們只需要提取出[class]token生成的對應(yīng)結(jié)果就行,即[197, 768]中抽取出 [class]token(也就是添加的分類向量) 對應(yīng)的[1, 768]。
  • 接著我們通過MLP Head得到我們最終的分類結(jié)果。MLP Head原論文中說在訓(xùn)練ImageNet21K時是由Linear+tanh激活函數(shù)+Linear組成。
  • 但是遷移到ImageNet1K上或者你自己的數(shù)據(jù)上時,只用一個Linear即可。
    vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)

2.5 全過程維度變化

為了更加清晰的展示ViT模型結(jié)構(gòu)和訓(xùn)練過程中的向量變化,下圖給出了ViT的向量維度變化圖(圖來自于極市平臺)。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


3. ViT 模型結(jié)構(gòu)細(xì)節(jié)圖

3.1 ViT-B/16

為了方便大家理解,太陽花的小綠豆 根據(jù)源代碼畫了張更詳細(xì)的圖 (以ViT-B/16為例):
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


3.2 ViT–Hybrid 模型

在論文4.1章節(jié)的Model Variants中有比較詳細(xì)的講到 Hybrid混合模型,

  • 就是將傳統(tǒng)CNN特征提取和Transformer進(jìn)行結(jié)合。

下圖 太陽花的小綠豆 繪制的是以ResNet50作為特征提取器的混合模型,但這里的Resnet與之前講的Resnet有些不同。

  • 首先這里的R50的卷積層采用的StdConv2d不是傳統(tǒng)的Conv2d,然后將所有的BatchNorm層替換成GroupNorm層。
  • 在原Resnet50網(wǎng)絡(luò)中,stage1重復(fù)堆疊3次,stage2重復(fù)堆疊4次,stage3重復(fù)堆疊6次,stage4重復(fù)堆疊3次,但在這里的R50中,把stage4中的3個Block移至stage3中,所以stage3中共重復(fù)堆疊9次。

通過R50 Backbone進(jìn)行特征提取后,得到的特征矩陣shape是[14, 14, 1024],接著再輸入Patch Embedding層,注意Patch Embedding中卷積層Conv2d的kernel_size和stride都變成了1,只是用來調(diào)整channel。后面的部分和前面ViT中講的完全一樣,就不在贅述。

vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


4. 實驗

4.1 ViT 訓(xùn)練

1)ViT的基本訓(xùn)練策略是:

  • 在大數(shù)據(jù)集上先做預(yù)訓(xùn)練,
  • 然后在小數(shù)據(jù)集上做遷移使用。

2)ViT做預(yù)訓(xùn)練使用到的大數(shù)據(jù)集包括:

  • ILSVRC-2012 ImageNet dataset:1000 classes
  • ImageNet-21k:21k classes
  • JFT:18k High Resolution Images

其中JFT是一個谷歌的內(nèi)部大規(guī)模圖像數(shù)據(jù)集,約有300M圖像18291個類別標(biāo)注。

3)ViT預(yù)訓(xùn)練遷移到的數(shù)據(jù)集包括:

  • CIFAR-10/100
  • Oxford-IIIT Pets
  • Oxford Flowers-102
  • VTAB
  • ImageNet

4)論文共設(shè)計了Base、Large和Huge三款不同大小的ViT模型,分別表示基礎(chǔ)模型、大模型和超大模型,三款模型的各參數(shù)如下表所示。在源碼中除了有Patch Size為16x16的外還有32x32的。

  • 其中的 Layers就是Transformer Encoder中重復(fù)堆疊Encoder Block的次數(shù),
  • Hidden Size就是對應(yīng)通過Embedding層后每個token的dim(向量的長度),
  • MLP size是Transformer Encoder中MLP Block第一個全連接的節(jié)點個數(shù)(是Hidden Size的四倍),
  • Heads代表Transformer中Multi-Head Attention的heads數(shù)。
    vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)
    注:若為ViT-B/16 就表示patch size為16的 ViT-Base模型。

4.2 ViT 實驗 1—預(yù)訓(xùn)練數(shù)據(jù)集 和 大模型

ViT最核心的實驗就是將前述的訓(xùn)練方法進(jìn)行實現(xiàn),

  • 即在大規(guī)模數(shù)據(jù)集上預(yù)訓(xùn)練后遷移到小數(shù)據(jù)集上看模型效果。

為了比對CNN模型,

  • 論文特地用了Big Transfer (BiT),該模型使用大的ResNet進(jìn)行監(jiān)督遷移學(xué)習(xí),是2020 ECCV上提出的一個大CNN模型。
  • 另外一個比對CNN模型是2020年CVPR上的Noisy Student模型,是一個半監(jiān)督的大型CNN模型。

ViT、BiT 和 Nosiy Student 模型經(jīng)三大數(shù)據(jù)集預(yù)訓(xùn)練后在各小數(shù)據(jù)集上的準(zhǔn)確率如下表所示。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)
從表中可以看到,ViT經(jīng)過大數(shù)據(jù)集的預(yù)訓(xùn)練后,

  • 在各小數(shù)據(jù)集上的遷移后準(zhǔn)確率超過了一些SOTA CNN模型的結(jié)果。
  • 但要取得這種超越CNN的性能效果,需要大的預(yù)訓(xùn)練數(shù)據(jù)集和大模型的結(jié)合。

問題:所以接下來的問題就是 ViT 對預(yù)訓(xùn)練數(shù)據(jù)集規(guī)模到底有怎樣的要求

論文針對此問題做了一個對比實驗。分別在ImageNet、ImageNet-21k和JFT-300M進(jìn)行預(yù)訓(xùn)練,三個數(shù)據(jù)集規(guī)模分別為小數(shù)據(jù)集、中等規(guī)模數(shù)據(jù)集和超大數(shù)據(jù)集,預(yù)訓(xùn)練效果如下圖所示。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)

從圖中可以看到,

  • 在最小的數(shù)據(jù)集ImageNet上進(jìn)行預(yù)訓(xùn)練時,盡管作者加了大量的正則化操作,ViT-Large模型性能不如ViT-base模型,更遠(yuǎn)不如BiT的性能。
  • 在中等規(guī)模的ImageNet-21k數(shù)據(jù)集上,大家的表現(xiàn)都差不多,
  • 只有到了JFT-30M這樣的超大數(shù)據(jù)集上,ViT模型才能發(fā)揮出它的優(yōu)勢和效果。

總之,大的預(yù)訓(xùn)練數(shù)據(jù)集加上大模型,是ViT取得SOTA性能的關(guān)鍵因素


4.3 ViT 實驗 2—Hybrid 和 純 ViT

下表是論文用來對比ViT,Resnet(和剛剛講的一樣,使用的卷積層和Norm層都進(jìn)行了修改)以及Hybrid模型的效果。通過對比發(fā)現(xiàn),在訓(xùn)練epoch較少時Hybrid優(yōu)于ViT,但當(dāng)epoch增大后ViT優(yōu)于Hybrid。
vit模型,計算機(jī)視覺,深度學(xué)習(xí)(機(jī)器學(xué)習(xí)),計算機(jī)視覺,transformer,深度學(xué)習(xí)


參考

【1】https://blog.csdn.net/weixin_37737254/article/details/117639395
【2】https://blog.csdn.net/qq_37541097/article/details/118242600文章來源地址http://www.zghlxwxcb.cn/news/detail-766273.html

到了這里,關(guān)于【計算機(jī)視覺】Vision Transformer (ViT)詳細(xì)解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 計算機(jī)視覺 – Computer Vision | CV

    計算機(jī)視覺 – Computer Vision | CV

    人的大腦皮層, 有差不多 70% 都是在處理視覺信息。 是人類獲取信息最主要的渠道,沒有之一。 在網(wǎng)絡(luò)世界,照片和視頻(圖像的集合)也正在發(fā)生爆炸式的增長! 下圖是網(wǎng)絡(luò)上新增數(shù)據(jù)的占比趨勢圖?;疑墙Y(jié)構(gòu)化數(shù)據(jù),藍(lán)色是非結(jié)構(gòu)化數(shù)據(jù)(大部分都是圖像和視頻)。

    2024年02月11日
    瀏覽(36)
  • 計算機(jī)視覺 (Computer Vision) 領(lǐng)域頂級會議歸納

    計算機(jī)視覺 (Computer Vision) 領(lǐng)域頂級會議歸納

    ?? Author :Horizon Max ? 編程技巧篇 :各種操作小結(jié) ?? 機(jī)器視覺篇 :會變魔術(shù) OpenCV ?? 深度學(xué)習(xí)篇 :簡單入門 PyTorch ?? 神經(jīng)網(wǎng)絡(luò)篇 :經(jīng)典網(wǎng)絡(luò)模型 ?? 算法篇 :再忙也別忘了 LeetCode 機(jī)器視覺 領(lǐng)域三大頂尖國際會議 : CVPR、ICCV、ECCV ; 其他一些 著名 會議: WACV、NIPS、

    2024年02月01日
    瀏覽(22)
  • 圖解Vit 2:Vision Transformer——視覺問題中的注意力機(jī)制

    圖解Vit 2:Vision Transformer——視覺問題中的注意力機(jī)制

    上節(jié)回顧 在Transformer之前的RNN,其實已經(jīng)用到了注意力機(jī)制。Seq2Seq。 對于Original RNN,每個RNN的輸入,都是對應(yīng)一個輸出。對于original RNN,他的輸入和輸出必須是一樣的。 在處理不是一對一的問題時,提出了RNN Seq2Seq。也就是在前面先輸入整體,然后再依次把對應(yīng)的輸出出來

    2024年02月17日
    瀏覽(27)
  • 使用Google Vision API進(jìn)行計算機(jī)視覺圖像創(chuàng)意分析

    使用Google Vision API進(jìn)行計算機(jī)視覺圖像創(chuàng)意分析

    介紹 計算機(jī)視覺可以用來從圖像、視頻和音頻中提取有用的信息。它允許計算機(jī)看到并理解從視覺輸入中可以收集到什么信息。在接收到視覺輸入后,它可以在圖像中收集有價值的信息,并確定必須采取的下一步。 Google Vision API是一種Google云服務(wù),它允許使用計算機(jī)視覺從圖

    2024年02月06日
    瀏覽(24)
  • 計算機(jī)視覺中的Transformer

    計算機(jī)視覺中的Transformer

    幾十年來,理論物理學(xué)家一直在努力提出一個宏大的統(tǒng)一理論。通過統(tǒng)一,指的是將被認(rèn)為是完全不同的兩個或多個想法結(jié)合起來,將它們的不同方面證明為同一基礎(chǔ)現(xiàn)象。一個例子是在19世紀(jì)之前,電和磁被看作是無關(guān)的現(xiàn)象,但電磁學(xué)理論成功地解釋了它們,或以某種方

    2024年02月13日
    瀏覽(27)
  • 【Computer Vision Foundation】全球計算機(jī)視覺基金會論文網(wǎng)

    【Computer Vision Foundation】全球計算機(jī)視覺基金會論文網(wǎng)

    計算機(jī)視覺基金會(Computer Vision Foundation,簡稱CVF)是一個致力于推動計算機(jī)視覺領(lǐng)域研究和發(fā)展的組織。以下是關(guān)于計算機(jī)視覺基金會的一些基本信息: 成立目的: CVF成立的目的是促進(jìn)計算機(jī)視覺領(lǐng)域的學(xué)術(shù)研究、技術(shù)發(fā)展和知識交流。該基金會的工作旨在推動計算機(jī)視覺

    2024年02月03日
    瀏覽(22)
  • 將Apple Vision Pro和visionOS與計算機(jī)視覺結(jié)合使用

    將Apple Vision Pro和visionOS與計算機(jī)視覺結(jié)合使用

    在2023年6月5日的WWDC大會上,蘋果宣布推出多年來最大規(guī)模的硬件和軟件組合產(chǎn)品。今年的“One more thing”(“還有一件事”)發(fā)布是蘋果視覺專業(yè)版(Apple Vision Pro),這是一款集成了蘋果生態(tài)系統(tǒng)的新型空間計算頭戴式設(shè)備。 蘋果視覺專業(yè)版是一個垂直整合的硬件和軟件平

    2024年02月08日
    瀏覽(18)
  • 【計算機(jī)視覺 | 目標(biāo)檢測】術(shù)語理解6:ViT 變種( ViT-H、ViT-L & ViT-B)、bbox(邊界框)、邊界框的繪制(含源代碼)

    【計算機(jī)視覺 | 目標(biāo)檢測】術(shù)語理解6:ViT 變種( ViT-H、ViT-L & ViT-B)、bbox(邊界框)、邊界框的繪制(含源代碼)

    ViT,全稱為Vision Transformer,是一種基于Transformer架構(gòu)的視覺處理模型。傳統(tǒng)的計算機(jī)視覺任務(wù)通常使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來提取圖像的特征。而ViT的目標(biāo)是將Transformer模型應(yīng)用于計算機(jī)視覺任務(wù),通過全局性的注意力機(jī)制來捕捉圖像中的長程依賴關(guān)系。 傳統(tǒng)的Transformer模型在

    2024年02月12日
    瀏覽(21)
  • 深度學(xué)習(xí)與計算機(jī)視覺:從CNN到Transformer

    計算機(jī)視覺是人工智能領(lǐng)域的一個重要分支,它涉及到計算機(jī)自動識別和理解人類視覺中的圖像和視頻。深度學(xué)習(xí)是計算機(jī)視覺的核心技術(shù)之一,它借鑒了人類的思維和學(xué)習(xí)過程,通過神經(jīng)網(wǎng)絡(luò)模擬人類大腦中的神經(jīng)元活動,實現(xiàn)了對圖像和視頻的自動處理和理解。 深度學(xué)習(xí)

    2024年02月02日
    瀏覽(36)
  • 從計算機(jī)視覺(Computer Vision)的角度出發(fā),從傳統(tǒng)機(jī)器學(xué)習(xí)的特征工程、分類器設(shè)計和優(yōu)化,到深度學(xué)習(xí)的CNN架構(gòu)設(shè)計、訓(xùn)練優(yōu)化、模型壓縮與推理部署,詳細(xì)闡述了圖像識別領(lǐng)域最新的技術(shù)發(fā)展方向

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) 在現(xiàn)代信息技術(shù)的快速發(fā)展過程中,圖像識別技術(shù)越來越重要。早期的人工智能算法主要側(cè)重于特征提取、分類或回歸任務(wù)。近幾年,隨著神經(jīng)網(wǎng)絡(luò)(Neural Networks)在圖像識別領(lǐng)域的不斷突破,很多研究人員將目光投向了深度學(xué)習(xí)(Deep Learni

    2024年02月10日
    瀏覽(39)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包