Обмен технологиями

Нейронная сеть CNN-1 — Обзор 2

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1: Нейронная сеть (оператор)

Оператор: обычно относится к основным математическим операциям, используемым на уровне нейронной сети;

1> Линейный слой (Полностью связанный слой)

Также называемый полносвязным слоем, это наиболее распространенный тип слоя. Он умножает входной вектор на весовую матрицу, а затем добавляет вектор смещения, чтобы получить выходной вектор. Линейный уровень — это базовый уровень нейронной сети, и его основная функция — сопоставлять входные данные высокой размерности с выходными данными низкой размерности;

Пример кода линейного слоя

import torch
import torch.nn as nn
 
# 定义输入向量的维度
input_size = 10
 
# 定义线性层的输出维度
output_size = 5
 
# 创建线性层
fc_layer = nn.Linear(input_size, output_size)
 
# 创建输入向量
input_vector = torch.randn(1, input_size)  # 假设输入向量的形状为(1, input_size)
 
# 进行前向传播计算
output_vector = fc_layer(input_vector)
 
# 打印输出向量
print(output_vector)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

Сначала импортируются модули torch и torch.nn. Затем мы определяем размерность input_size входного вектора и выходную размерность output_size линейного слоя.

Затем мы создали объект линейного слоя с именем fc_layer, используя класс nn.Linear. Первый параметр этого класса — это входное измерение, а второй параметр — выходное измерение.

Затем мы создаем случайный входной вектор input_vector и передаем его линейному слою для вычислений прямого распространения.Наконец, мы печатаем выходной вектор