torch.nn.modules.pixelshuffle 的源代码
导入 torch.nn.functional
作为 F
来自
火炬
导入
张量
来自
.模块
导入
模块
__all__ = [像素 shuffle,
像素 unshuffle]
[文档]
类 PixelShuffle(
模块):
r根据上采样因子重新排列张量中的元素。
将形状为 :math:`(*, C \times r^2, H, W)` 的张量元素重新排列
为形状为 :math:`(*, C, H \times r, W \times r)` 的张量,其中 r 是上采样因子。
这对于实现高效的亚像素卷积非常有用
使用步长为 :math:`1/r`。
请参阅论文:
《基于高效亚像素卷积神经网络的实时单图像和视频超分辨率》_
由 Shi 等人(2016 年)提供更多细节。
Args:
upscale_factor (int): 用于增加空间分辨率的因子
形状:
- 输入::math:`(*, C_{in}, H_{in}, W_{in})`,其中 * 为零个或多个批处理维度
- 输出::math:`(*, C_{out}, H_{out}, W_{out})`,其中
.. math::
C_{out} = C_{in} ÷ upscale_factor^2
.. math::
输出\_高 = 输入\_高 \times \_ upscale\_factor
.. math::
输出\_宽 = 输入\_宽 \times \_ upscale\_factor
示例:
>>> 像素混洗 = nn.PixelShuffle(3)
>>> input = torch.randn(1, 9, 4, 4)
>>> 输出 = 像素混洗(输入)
>>> 打印(output.size())
torch.Size([1, 1, 12, 12])
使用高效子像素卷积神经网络进行实时单图像和视频超分辨率
https://arxiv.org/abs/1609.05158
"源代码"
常量 = [
放大倍数]
upscale_factor: 整型
def 初始化(self, upscale_factor: int) ->
无:
超级().
初始化()
self.放大倍数 =
放大倍数
def 前向(self,
输入:
张量) ->
张量:
返回 F.pixel_shuffle(
输入, self.upscale_factor)
def 额外表示(self) ->
字符串:
返回 f
"放大因子="{self.upscale_factor}"
[文档]
类
像素解混淆(
模块):
r"""反转像素混淆操作。
通过重新排列元素来反转 :class:`~torch.nn.PixelShuffle` 操作。
在形状为 :math:`(*, C, H × r, W × r)` 的张量中,将其转换为形状为
math:`(*, C × r^2, H, W)` 的张量,其中 r 是下采样因子。
请参阅论文:
《基于高效子像素卷积神经网络的实时单图像和视频超分辨率》_
由 Shi 等人(2016 年)提供更多细节。
Args:
downscale_factor(整数):降低空间分辨率的因子
形状:
- 输入::math:`(*, C_{in}, H_{in}, W_{in})`,其中*为零个或多个批次维度
- 输出::math:`(*, C_{out}, H_{out}, W_{out})`,其中
.. math::
C_{out} = C_{in} × \text{downscale\_factor}^2
.. math::
H_{out} = H_{in} ÷ \text{downscale\_factor}
.. math::
W_{out} = W_{in} ÷ \text{downscale\_factor}
示例:
>>> pixel_unshuffle = nn.PixelUnshuffle(3)
>>> input = torch.randn(1, 1, 12, 12)
>>> output = pixel_unshuffle(input)
>>> 打印(output.size())
torch.Size([1, 9, 4, 4])
.. _实时单图像和视频超分辨率使用高效亚像素卷积神经网络:
https://arxiv.org/abs/1609.05158
"源代码"
常量 = [
downscale_factor]
下采样因子:
整型
def 初始化(self,
下采样因子: int) ->
无:
超级().
初始化()
self.downscale_factor = 降采样因子
def 前向(self,
输入:
张量) ->
张量:
返回 F.
像素重排(
输入, self.
下采样因子)
def 额外表示(self) ->
字符串:
返回 f
"降采样因子="{self.
下采样因子}"