전환3D

@frozen
public struct Conv3D<Scalar> : Layer where Scalar : TensorFlowFloatingPoint

이미지에 대한 공간/시공간 컨볼루션을 위한 3D 컨볼루션 레이어입니다.

이 레이어는 레이어 입력과 컨볼루션되어 출력 텐서를 생성하는 컨볼루션 필터를 생성합니다.

  • 5D 컨볼루션 필터.

    선언

    public var filter: Tensor<Scalar>
  • 바이어스 벡터.

    선언

    public var bias: Tensor<Scalar>
  • 요소별 활성화 함수.

    선언

    @noDerivative
    public let activation: Activation
  • 공간적 차원을 위한 슬라이딩 윈도우의 발전.

    선언

    @noDerivative
    public let strides: (Int, Int, Int)
  • 컨볼루션을 위한 패딩 알고리즘입니다.

    선언

    @noDerivative
    public let padding: Padding
  • 공간적/시공간적 차원에 대한 확장 인자입니다.

    선언

    @noDerivative
    public let dilations: (Int, Int, Int)
  • 요소별 활성화 함수 유형입니다.

    선언

    public typealias Activation = @differentiable (Tensor<Scalar>) -> Tensor<Scalar>
  • 지정된 필터, 바이어스, 활성화 함수, 보폭 및 패딩을 사용하여 Conv3D 레이어를 만듭니다.

    선언

    public init(
      filter: Tensor<Scalar>,
      bias: Tensor<Scalar>? = nil,
      activation: @escaping Activation = identity,
      strides: (Int, Int, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 1, 1)
    )

    매개변수

    filter

    [필터 깊이, 필터 높이, 필터 너비, 입력 채널 수, 출력 채널 수] 모양의 5D 컨볼루션 필터입니다.

    bias

    [출력 채널 수] 모양의 바이어스 벡터입니다.

    activation

    요소별 활성화 함수.

    strides

    공간 차원에 대한 슬라이딩 윈도우의 보폭(보폭, 보폭 높이, 보폭)

    padding

    컨볼루션을 위한 패딩 알고리즘입니다.

    dilations

    공간/시공간 차원에 대한 확장 인자입니다.

  • 주어진 입력에 레이어를 적용하여 얻은 출력을 반환합니다.

    출력 공간 차원은 다음과 같이 계산됩니다.

    출력 깊이 = (입력 깊이 + 2 * 패딩 깊이 - (팽창 깊이 * (필터 깊이 - 1) + 1)) / 보폭 깊이 + 1

    출력 높이 = (입력 높이 + 2 * 패딩 높이 - (팽창 높이 * (필터 높이 - 1) + 1)) / 보폭 높이 + 1

    출력 너비 = (입력 너비 + 2 * 패딩 너비 - (팽창 너비 * (필터 너비 - 1) + 1)) / 보폭 + 1

    패딩 크기는 패딩 방식에 따라 결정됩니다.

    메모

    .valid 사용할 때 패딩 크기는 0입니다.

    선언

    @differentiable
    public func forward(_ input: Tensor<Scalar>) -> Tensor<Scalar>

    매개변수

    input

    [배치 수, 입력 깊이, 입력 높이, 입력 너비, 입력 채널 수] 모양의 레이어에 대한 입력입니다.

    반환 값

    모양 [배치 수, 출력 깊이, 출력 높이, 출력 너비, 출력 채널 수]의 출력입니다.

  • 지정된 필터 모양, 보폭, 패딩, 팽창 및 요소별 활성화 함수를 사용하여 Conv3D 레이어를 만듭니다. 필터 텐서는 지정된 시드를 사용하여 Glorot 균일 초기화를 사용하여 초기화됩니다. 바이어스 벡터는 0으로 초기화됩니다.

    선언

    public init(
      filterShape: (Int, Int, Int, Int, Int),
      strides: (Int, Int, Int) = (1, 1, 1),
      padding: Padding = .valid,
      dilations: (Int, Int, Int) = (1, 1, 1),
      activation: @escaping Activation = identity,
      useBias: Bool = true,
      filterInitializer: ParameterInitializer<Scalar> = glorotUniform(),
      biasInitializer: ParameterInitializer<Scalar> = zeros()
    )

    매개변수

    filterShape

    (필터 깊이, 필터 높이, 필터 너비, 입력 채널 수, 출력 채널 수)를 나타내는 5D 컨벌루션 필터의 모양입니다.

    strides

    공간 차원에 대한 슬라이딩 윈도우의 보폭(보폭, 보폭 높이, 보폭)

    padding

    컨볼루션을 위한 패딩 알고리즘입니다.

    dilations

    공간/시공간 차원에 대한 확장 인자입니다.

    activation

    요소별 활성화 함수.

    filterInitializer

    필터 매개변수에 사용할 초기화 프로그램입니다.

    biasInitializer

    바이어스 매개변수에 사용할 초기화 프로그램입니다.