0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PyTorch教程-4.2. 圖像分類數(shù)據(jù)集

jf_pJlTbmA9 ? 來(lái)源:PyTorch ? 作者:PyTorch ? 2023-06-05 15:38 ? 次閱讀

廣泛用于圖像分類的數(shù)據(jù)集之一是手寫數(shù)字的MNIST 數(shù)據(jù)集 (LeCun等人,1998 年) 。在 1990 年代發(fā)布時(shí),它對(duì)大多數(shù)機(jī)器學(xué)習(xí)算法提出了巨大挑戰(zhàn),其中包含 60,000 張圖像 28×28像素分辨率(加上 10,000 張圖像的測(cè)試數(shù)據(jù)集)??陀^地說(shuō),在 1995 年,配備高達(dá) 64MB RAM 和驚人的 5 MFLOPs 的 Sun SPARCStation 5 被認(rèn)為是 AT&T 貝爾實(shí)驗(yàn)室最先進(jìn)的機(jī)器學(xué)習(xí)設(shè)備。實(shí)現(xiàn)數(shù)字識(shí)別的高精度是一個(gè)1990 年代 USPS 自動(dòng)分揀信件的關(guān)鍵組件。深度網(wǎng)絡(luò),如 LeNet-5 (LeCun等人,1995 年)、具有不變性的支持向量機(jī) (Sch?lkopf等人,1996 年)和切線距離分類器 (Simard等人,1998 年)都允許達(dá)到 1% 以下的錯(cuò)誤率。

十多年來(lái),MNIST 一直是比較機(jī)器學(xué)習(xí)算法的參考點(diǎn)。雖然它作為基準(zhǔn)數(shù)據(jù)集運(yùn)行良好,但即使是按照當(dāng)今標(biāo)準(zhǔn)的簡(jiǎn)單模型也能達(dá)到 95% 以上的分類準(zhǔn)確率,這使得它不適合區(qū)分強(qiáng)模型和弱模型。更重要的是,數(shù)據(jù)集允許非常高的準(zhǔn)確性,這在許多分類問(wèn)題中通常是看不到的。這種算法的發(fā)展偏向于可以利用干凈數(shù)據(jù)集的特定算法系列,例如活動(dòng)集方法和邊界搜索活動(dòng)集算法。今天,MNIST 更像是一種健全性檢查,而不是基準(zhǔn)。ImageNet ( Deng et al. , 2009 )提出了一個(gè)更相關(guān)的挑戰(zhàn)。不幸的是,對(duì)于本書中的許多示例和插圖來(lái)說(shuō),ImageNet 太大了,因?yàn)橛?xùn)練這些示例需要很長(zhǎng)時(shí)間才能使示例具有交互性。作為替代,我們將在接下來(lái)的部分中重點(diǎn)討論定性相似但規(guī)模小得多的 Fashion-MNIST 數(shù)據(jù)集(Xiao等人,2017 年),該數(shù)據(jù)集于 2017 年發(fā)布。它包含 10 類服裝的圖像 28×28像素分辨率。

%matplotlib inline
import time
import torch
import torchvision
from torchvision import transforms
from d2l import torch as d2l

d2l.use_svg_display()

%matplotlib inline
import time
from mxnet import gluon, npx
from mxnet.gluon.data.vision import transforms
from d2l import mxnet as d2l

npx.set_np()

d2l.use_svg_display()

%matplotlib inline
import time
import jax
import numpy as np
import tensorflow as tf
import tensorflow_datasets as tfds
from jax import numpy as jnp
from d2l import jax as d2l

d2l.use_svg_display()

No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)

%matplotlib inline
import time
import tensorflow as tf
from d2l import tensorflow as d2l

d2l.use_svg_display()

4.2.1. 加載數(shù)據(jù)集

由于它是一個(gè)經(jīng)常使用的數(shù)據(jù)集,所有主要框架都提供了它的預(yù)處理版本。我們可以使用內(nèi)置的框架實(shí)用程序?qū)?Fashion-MNIST 數(shù)據(jù)集下載并讀取到內(nèi)存中。

class FashionMNIST(d2l.DataModule): #@save
  """The Fashion-MNIST dataset."""
  def __init__(self, batch_size=64, resize=(28, 28)):
    super().__init__()
    self.save_hyperparameters()
    trans = transforms.Compose([transforms.Resize(resize),
                  transforms.ToTensor()])
    self.train = torchvision.datasets.FashionMNIST(
      root=self.root, train=True, transform=trans, download=True)
    self.val = torchvision.datasets.FashionMNIST(
      root=self.root, train=False, transform=trans, download=True)

class FashionMNIST(d2l.DataModule): #@save
  """The Fashion-MNIST dataset."""
  def __init__(self, batch_size=64, resize=(28, 28)):
    super().__init__()
    self.save_hyperparameters()
    trans = transforms.Compose([transforms.Resize(resize),
                  transforms.ToTensor()])
    self.train = gluon.data.vision.FashionMNIST(
      train=True).transform_first(trans)
    self.val = gluon.data.vision.FashionMNIST(
      train=False).transform_first(trans)

class FashionMNIST(d2l.DataModule): #@save
  """The Fashion-MNIST dataset."""
  def __init__(self, batch_size=64, resize=(28, 28)):
    super().__init__()
    self.save_hyperparameters()
    self.train, self.val = tf.keras.datasets.fashion_mnist.load_data()

class FashionMNIST(d2l.DataModule): #@save
  """The Fashion-MNIST dataset."""
  def __init__(self, batch_size=64, resize=(28, 28)):
    super().__init__()
    self.save_hyperparameters()
    self.train, self.val = tf.keras.datasets.fashion_mnist.load_data()

Fashion-MNIST 包含來(lái)自 10 個(gè)類別的圖像,每個(gè)類別在訓(xùn)練數(shù)據(jù)集中由 6,000 個(gè)圖像表示,在測(cè)試數(shù)據(jù)集中由 1,000 個(gè)圖像表示。測(cè)試 數(shù)據(jù)集用于評(píng)估模型性能(不得用于訓(xùn)練)。因此,訓(xùn)練集和測(cè)試集分別包含 60,000 和 10,000 張圖像。

data = FashionMNIST(resize=(32, 32))
len(data.train), len(data.val)

(60000, 10000)

data = FashionMNIST(resize=(32, 32))
len(data.train), len(data.val)

(60000, 10000)

data = FashionMNIST(resize=(32, 32))
len(data.train[0]), len(data.val[0])

(60000, 10000)

data = FashionMNIST(resize=(32, 32))
len(data.train[0]), len(data.val[0])

(60000, 10000)

圖像是灰度和放大到32×32分辨率以上的像素。這類似于由(二進(jìn)制)黑白圖像組成的原始 MNIST 數(shù)據(jù)集。但請(qǐng)注意,大多數(shù)具有 3 個(gè)通道(紅色、綠色、藍(lán)色)的現(xiàn)代圖像數(shù)據(jù)和超過(guò) 100 個(gè)通道的高光譜圖像(HyMap 傳感器有 126 個(gè)通道)。按照慣例,我們將圖像存儲(chǔ)為 c×h×w張量,其中c是顏色通道數(shù),h是高度和w是寬度。

data.train[0][0].shape

torch.Size([1, 32, 32])

data.train[0][0].shape

(1, 32, 32)

data.train[0][0].shape

(28, 28)

data.train[0][0].shape

(28, 28)

Fashion-MNIST 的類別具有人類可理解的名稱。以下便捷方法在數(shù)字標(biāo)簽及其名稱之間進(jìn)行轉(zhuǎn)換。

@d2l.add_to_class(FashionMNIST) #@save
def text_labels(self, indices):
  """Return text labels."""
  labels = ['t-shirt', 'trouser', 'pullover', 'dress', 'coat',
       'sandal', 'shirt', 'sneaker', 'bag', 'ankle boot']
  return [labels[int(i)] for i in indices]

4.2.2. 讀取一個(gè)小批量

為了讓我們?cè)谧x取訓(xùn)練集和測(cè)試集時(shí)更輕松,我們使用內(nèi)置的數(shù)據(jù)迭代器而不是從頭開始創(chuàng)建一個(gè)?;叵胍幌?,在每次迭代中,數(shù)據(jù)迭代器讀取一個(gè)大小為 的小批量數(shù)據(jù)batch_size。我們還隨機(jī)打亂訓(xùn)練數(shù)據(jù)迭代器的示例。

@d2l.add_to_class(FashionMNIST) #@save
def get_dataloader(self, train):
  data = self.train if train else self.val
  return torch.utils.data.DataLoader(data, self.batch_size, shuffle=train,
                    num_workers=self.num_workers)

@d2l.add_to_class(FashionMNIST) #@save
def get_dataloader(self, train):
  data = self.train if train else self.val
  return gluon.data.DataLoader(data, self.batch_size, shuffle=train,
                 num_workers=self.num_workers)

@d2l.add_to_class(FashionMNIST) #@save
def get_dataloader(self, train):
  data = self.train if train else self.val
  process = lambda X, y: (tf.expand_dims(X, axis=3) / 255,
              tf.cast(y, dtype='int32'))
  resize_fn = lambda X, y: (tf.image.resize_with_pad(X, *self.resize), y)
  shuffle_buf = len(data[0]) if train else 1
  return tfds.as_numpy(
    tf.data.Dataset.from_tensor_slices(process(*data)).batch(
      self.batch_size).map(resize_fn).shuffle(shuffle_buf))

@d2l.add_to_class(FashionMNIST) #@save
def get_dataloader(self, train):
  data = self.train if train else self.val
  process = lambda X, y: (tf.expand_dims(X, axis=3) / 255,
              tf.cast(y, dtype='int32'))
  resize_fn = lambda X, y: (tf.image.resize_with_pad(X, *self.resize), y)
  shuffle_buf = len(data[0]) if train else 1
  return tf.data.Dataset.from_tensor_slices(process(*data)).batch(
    self.batch_size).map(resize_fn).shuffle(shuffle_buf)

為了了解這是如何工作的,讓我們通過(guò)調(diào)用該 train_dataloader方法來(lái)加載一小批圖像。它包含 64 張圖像。

X, y = next(iter(data.train_dataloader()))
print(X.shape, X.dtype, y.shape, y.dtype)

torch.Size([64, 1, 32, 32]) torch.float32 torch.Size([64]) torch.int64

X, y = next(iter(data.train_dataloader()))
print(X.shape, X.dtype, y.shape, y.dtype)

(64, 1, 32, 32) float32 (64,) int32

X, y = next(iter(data.train_dataloader()))
print(X.shape, X.dtype, y.shape, y.dtype)

WARNING:tensorflow:From /home/d2l-worker/miniconda3/envs/d2l-en-release-1/lib/python3.9/site-packages/tensorflow/python/autograph/pyct/static_analysis/liveness.py:83: Analyzer.lamba_check (from tensorflow.python.autograph.pyct.static_analysis.liveness) is deprecated and will be removed after 2023-09-23.
Instructions for updating:
Lambda fuctions will be no more assumed to be used in the statement where they are used, or at least in the same block. https://github.com/tensorflow/tensorflow/issues/56089
(64, 32, 32, 1) float32 (64,) int32

X, y = next(iter(data.train_dataloader()))
print(X.shape, X.dtype, y.shape, y.dtype)

WARNING:tensorflow:From /home/d2l-worker/miniconda3/envs/d2l-en-release-1/lib/python3.9/site-packages/tensorflow/python/autograph/pyct/static_analysis/liveness.py:83: Analyzer.lamba_check (from tensorflow.python.autograph.pyct.static_analysis.liveness) is deprecated and will be removed after 2023-09-23.
Instructions for updating:
Lambda fuctions will be no more assumed to be used in the statement where they are used, or at least in the same block. https://github.com/tensorflow/tensorflow/issues/56089
(64, 32, 32, 1)  (64,) 

讓我們看看讀取圖像所花費(fèi)的時(shí)間。盡管它是一個(gè)內(nèi)置的加載程序,但速度并不快。盡管如此,這已經(jīng)足夠了,因?yàn)槭褂蒙疃染W(wǎng)絡(luò)處理圖像需要更長(zhǎng)的時(shí)間。因此,訓(xùn)練網(wǎng)絡(luò)不受 IO 約束就足夠了。

tic = time.time()
for X, y in data.train_dataloader():
  continue
f'{time.time() - tic:.2f} sec'

'5.06 sec'

tic = time.time()
for X, y in data.train_dataloader():
  continue
f'{time.time() - tic:.2f} sec'

'4.12 sec'

tic = time.time()
for X, y in data.train_dataloader():
  continue
f'{time.time() - tic:.2f} sec'

'0.96 sec'

tic = time.time()
for X, y in data.train_dataloader():
  continue
f'{time.time() - tic:.2f} sec'

'0.95 sec'

4.2.3. 可視化

我們將經(jīng)常使用 Fashion-MNIST 數(shù)據(jù)集。一個(gè)便利的功能show_images可以用來(lái)可視化圖像和相關(guān)的標(biāo)簽。其實(shí)施細(xì)節(jié)推遲到附錄。

def show_images(imgs, num_rows, num_cols, titles=None, scale=1.5): #@save
  """Plot a list of images."""
  raise NotImplementedError

讓我們好好利用它。通常,可視化和檢查您正在訓(xùn)練的數(shù)據(jù)是個(gè)好主意。人類非常善于發(fā)現(xiàn)不尋常的方面,因此,可視化可以作為一種額外的保護(hù)措施,防止實(shí)驗(yàn)設(shè)計(jì)中的錯(cuò)誤和錯(cuò)誤。以下是訓(xùn)練數(shù)據(jù)集中前幾個(gè)示例的圖像及其相應(yīng)標(biāo)簽(文本)。

@d2l.add_to_class(FashionMNIST) #@save
def visualize(self, batch, nrows=1, ncols=8, labels=[]):
  X, y = batch
  if not labels:
    labels = self.text_labels(y)
  d2l.show_images(X.squeeze(1), nrows, ncols, titles=labels)
batch = next(iter(data.val_dataloader()))
data.visualize(batch)

pYYBAGR5VLOAE8DAAAFXlI5prpg972.svg

@d2l.add_to_class(FashionMNIST) #@save
def visualize(self, batch, nrows=1, ncols=8, labels=[]):
  X, y = batch
  if not labels:
    labels = self.text_labels(y)
  d2l.show_images(X.squeeze(1), nrows, ncols, titles=labels)
batch = next(iter(data.val_dataloader()))
data.visualize(batch)

poYBAGR5VLWABCDeAAFUVW5zHbQ247.svg

@d2l.add_to_class(FashionMNIST) #@save
def visualize(self, batch, nrows=1, ncols=8, labels=[]):
  X, y = batch
  if not labels:
    labels = self.text_labels(y)
  d2l.show_images(jnp.squeeze(X), nrows, ncols, titles=labels)

batch = next(iter(data.val_dataloader()))
data.visualize(batch)

pYYBAGR5VLiAMQdTAAFW9OrJp3Q736.svg

@d2l.add_to_class(FashionMNIST) #@save
def visualize(self, batch, nrows=1, ncols=8, labels=[]):
  X, y = batch
  if not labels:
    labels = self.text_labels(y)
  d2l.show_images(tf.squeeze(X), nrows, ncols, titles=labels)
batch = next(iter(data.val_dataloader()))
data.visualize(batch)

pYYBAGR5VLiAMQdTAAFW9OrJp3Q736.svg

我們現(xiàn)在準(zhǔn)備好在接下來(lái)的部分中使用 Fashion-MNIST 數(shù)據(jù)集。

4.2.4. 概括

我們現(xiàn)在有一個(gè)稍微更真實(shí)的數(shù)據(jù)集用于分類。Fashion-MNIST 是一個(gè)服裝分類數(shù)據(jù)集,由代表 10 個(gè)類別的圖像組成。我們將在后續(xù)部分和章節(jié)中使用該數(shù)據(jù)集來(lái)評(píng)估各種網(wǎng)絡(luò)設(shè)計(jì),從簡(jiǎn)單的線性模型到高級(jí)殘差網(wǎng)絡(luò)。正如我們通常對(duì)圖像所做的那樣,我們將它們讀取為形狀的張量(批量大小、通道數(shù)、高度、寬度)。目前,我們只有一個(gè)通道,因?yàn)閳D像是灰度的(上面的可視化使用假調(diào)色板來(lái)提高可見性)。

最后,數(shù)據(jù)迭代器是實(shí)現(xiàn)高效性能的關(guān)鍵組件。例如,我們可能會(huì)使用 GPU 進(jìn)行高效的圖像解壓縮、視頻轉(zhuǎn)碼或其他預(yù)處理。只要有可能,您就應(yīng)該依靠利用高性能計(jì)算的良好實(shí)現(xiàn)的數(shù)據(jù)迭代器來(lái)避免減慢您的訓(xùn)練循環(huán)。

4.2.5. 練習(xí)

減少batch_size(例如,減少到 1)會(huì)影響閱讀性能嗎?

數(shù)據(jù)迭代器的性能很重要。您認(rèn)為當(dāng)前的實(shí)施是否足夠快?探索改進(jìn)它的各種選項(xiàng)。使用系統(tǒng)分析器找出瓶頸所在。

查看框架的在線 API 文檔。還有哪些其他數(shù)據(jù)集可用?

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1199

    瀏覽量

    24594
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    795

    瀏覽量

    13081
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    pytorch怎么在pycharm中運(yùn)行

    第一部分:PyTorch和PyCharm的安裝 1.1 安裝PyTorch PyTorch是一個(gè)開源的機(jī)器學(xué)習(xí)庫(kù),用于構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。要在PyCharm中使用PyTorch,首先需
    的頭像 發(fā)表于 08-01 16:22 ?896次閱讀

    基于PyTorch的卷積核實(shí)例應(yīng)用

    在深度學(xué)習(xí)和計(jì)算機(jī)視覺(jué)領(lǐng)域,卷積操作是一種至關(guān)重要的技術(shù),尤其在圖像處理和特征提取方面發(fā)揮著核心作用。PyTorch作為當(dāng)前最流行的深度學(xué)習(xí)框架之一,提供了強(qiáng)大的張量操作功能和靈活的API,使得實(shí)現(xiàn)
    的頭像 發(fā)表于 07-11 15:19 ?306次閱讀

    如何在PyTorch中實(shí)現(xiàn)LeNet-5網(wǎng)絡(luò)

    等人提出,主要用于手寫數(shù)字識(shí)別任務(wù)(如MNIST數(shù)據(jù))。下面,我將詳細(xì)闡述如何在PyTorch中從頭開始實(shí)現(xiàn)LeNet-5網(wǎng)絡(luò),包括網(wǎng)絡(luò)架構(gòu)設(shè)計(jì)、參數(shù)初始化、前向傳播、損失函數(shù)選擇、優(yōu)化器配置以及訓(xùn)練流程等方面。
    的頭像 發(fā)表于 07-11 10:58 ?595次閱讀

    pytorch如何訓(xùn)練自己的數(shù)據(jù)

    本文將詳細(xì)介紹如何使用PyTorch框架來(lái)訓(xùn)練自己的數(shù)據(jù)。我們將從數(shù)據(jù)準(zhǔn)備、模型構(gòu)建、訓(xùn)練過(guò)程、評(píng)估和測(cè)試等方面進(jìn)行講解。 環(huán)境搭建 首先,我們需要安裝PyTorch??梢酝ㄟ^(guò)訪問(wèn)
    的頭像 發(fā)表于 07-11 10:04 ?378次閱讀

    pytorch中有神經(jīng)網(wǎng)絡(luò)模型嗎

    處理、語(yǔ)音識(shí)別等領(lǐng)域取得了顯著的成果。PyTorch是一個(gè)開源的深度學(xué)習(xí)框架,由Facebook的AI研究團(tuán)隊(duì)開發(fā)。它以其易用性、靈活性和高效性而受到廣泛歡迎。在PyTorch中,有許多預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型可供選擇,這些模型可以用于各種任務(wù),如
    的頭像 發(fā)表于 07-11 09:59 ?582次閱讀

    PyTorch的介紹與使用案例

    PyTorch是一個(gè)基于Python的開源機(jī)器學(xué)習(xí)庫(kù),它主要面向深度學(xué)習(xí)和科學(xué)計(jì)算領(lǐng)域。PyTorch由Meta Platforms(原Facebook)的人工智能研究團(tuán)隊(duì)開發(fā),并逐漸發(fā)展成為深度
    的頭像 發(fā)表于 07-10 14:19 ?311次閱讀

    計(jì)算機(jī)視覺(jué)怎么給圖像分類

    圖像分類是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一項(xiàng)核心任務(wù),其目標(biāo)是將輸入的圖像自動(dòng)分配到預(yù)定義的類別集合中。這一過(guò)程涉及圖像的特征提取、特征表示以及分類器的
    的頭像 發(fā)表于 07-08 17:06 ?391次閱讀

    tensorflow和pytorch哪個(gè)更簡(jiǎn)單?

    PyTorch更簡(jiǎn)單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個(gè)易于使用、靈活且具有強(qiáng)大社區(qū)支持的框架,PyTorch可能是一個(gè)更好的選擇。如果您需要一個(gè)在
    的頭像 發(fā)表于 07-05 09:45 ?613次閱讀

    PyTorch如何訓(xùn)練自己的數(shù)據(jù)

    PyTorch是一個(gè)廣泛使用的深度學(xué)習(xí)框架,它以其靈活性、易用性和強(qiáng)大的動(dòng)態(tài)圖特性而聞名。在訓(xùn)練深度學(xué)習(xí)模型時(shí),數(shù)據(jù)是不可或缺的組成部分。然而,很多時(shí)候,我們可能需要使用自己的數(shù)據(jù)
    的頭像 發(fā)表于 07-02 14:09 ?993次閱讀

    如何使用PyTorch建立網(wǎng)絡(luò)模型

    PyTorch是一個(gè)基于Python的開源機(jī)器學(xué)習(xí)庫(kù),因其易用性、靈活性和強(qiáng)大的動(dòng)態(tài)圖特性,在深度學(xué)習(xí)領(lǐng)域得到了廣泛應(yīng)用。本文將從PyTorch的基本概念、網(wǎng)絡(luò)模型構(gòu)建、優(yōu)化方法、實(shí)際應(yīng)用等多個(gè)方面,深入探討使用PyTorch
    的頭像 發(fā)表于 07-02 14:08 ?309次閱讀

    PyTorch中激活函數(shù)的全面概覽

    為了更清晰地學(xué)習(xí)Pytorch中的激活函數(shù),并對(duì)比它們之間的不同,這里對(duì)最新版本的Pytorch中的激活函數(shù)進(jìn)行了匯總,主要介紹激活函數(shù)的公式、圖像以及使用方法,具體細(xì)節(jié)可查看官方文檔。
    的頭像 發(fā)表于 04-30 09:26 ?465次閱讀
    <b class='flag-5'>PyTorch</b>中激活函數(shù)的全面概覽

    了解如何使用PyTorch構(gòu)建圖神經(jīng)網(wǎng)絡(luò)

    圖神經(jīng)網(wǎng)絡(luò)直接應(yīng)用于圖數(shù)據(jù),您可以訓(xùn)練它們以預(yù)測(cè)節(jié)點(diǎn)、邊緣和與圖相關(guān)的任務(wù)。它用于圖和節(jié)點(diǎn)分類、鏈路預(yù)測(cè)、圖聚類和生成,以及圖像和文本分類
    發(fā)表于 02-21 12:19 ?648次閱讀
    了解如何使用<b class='flag-5'>PyTorch</b>構(gòu)建圖神經(jīng)網(wǎng)絡(luò)

    CNN圖像分類策略

    在深度學(xué)習(xí)出現(xiàn)之前,自然圖像中的對(duì)象識(shí)別過(guò)程相當(dāng)粗暴簡(jiǎn)單:定義一組關(guān)鍵視覺(jué)特征(“單詞”),識(shí)別每個(gè)視覺(jué)特征在圖像中的存在頻率(“包”),然后根據(jù)這些數(shù)字對(duì)圖像進(jìn)行分類。這些模型被稱為
    發(fā)表于 12-25 11:36 ?258次閱讀
    CNN<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>策略

    大模型數(shù)據(jù):力量的源泉,進(jìn)步的階梯

    的舞臺(tái) 大模型數(shù)據(jù)如廣袤的舞臺(tái),為AI技術(shù)的展現(xiàn)提供了廣闊的空間。這些數(shù)據(jù)規(guī)模龐大,包容萬(wàn)象,它們是AI進(jìn)步的基石。無(wú)論是自然語(yǔ)言處理、圖像
    的頭像 發(fā)表于 12-07 17:18 ?583次閱讀

    基于XIAO的圖像分類處理項(xiàng)目

    XIAOXIAO今天小編給大家?guī)?lái)的是圣地亞哥的Maker Marcelo Rovai 使用 XIAO ESP32S3 Sensor 搭配Edge Impulse 實(shí)現(xiàn)的圖像分類的項(xiàng)目。
    的頭像 發(fā)表于 10-28 09:50 ?1221次閱讀
    基于XIAO的<b class='flag-5'>圖像</b><b class='flag-5'>分類</b>處理項(xiàng)目