【Pytorch】nn.PixelShuffle

简介:
torch.nn.PixelShuffle(upscale_factor)

PixelShuffle是一种上采样方法,它将形状(∗,C×r^2,H,W)的张量重新排列转换为形状为(∗,C,H×r,W×r)的张量:


图片来源:[1]

其中$r$是upscale_factor因子。

输入输出尺寸:

例子:(1,8,2,2)→(1,2,4,4)

import torch
import torch.nn as nn

ps = nn.PixelShuffle(2)
input = torch.arange(0, 8 * 2 * 2).view(1, 8, 2, 2)
output = ps(input)

print('input:\n',input)
print('output:\n',output)

[1] Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network https://openaccess.thecvf.com/content_cvpr_2016/papers/Shi_Real-Time_Single_Image_CVPR_2016_paper.pdf

相关文章
|
2月前
|
机器学习/深度学习 Python
tf.keras.layers.LSTM/tf.keras.layers.LSTMCell
【8月更文挑战第20天】tf.keras.layers.LSTM/tf.keras.layers.LSTMCell。
34 1
|
2月前
|
算法框架/工具 数据格式
tf.keras.layers.Conv2D
【8月更文挑战第20天】tf.keras.layers.Conv2D。
31 2
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Tensorflow+Keras】tf.keras.layers.Bidirectional()的解析与使用
本文解析了TensorFlow和Keras中的`tf.keras.layers.Bidirectional()`层,它用于实现双向RNN(如LSTM、GRU)的神经网络结构。文章详细介绍了该层的参数配置,并通过实例演示了如何构建含有双向LSTM层的模型,以及如何使用IMDB数据集进行模型训练和评估。
49 8
|
2月前
|
TensorFlow 算法框架/工具
【Tensorflow+Keras】用Tensorflow.keras的方法替代keras.layers.merge
在TensorFlow 2.0和Keras中替代旧版keras.layers.merge函数的方法,使用了新的层如add, multiply, concatenate, average, 和 dot来实现常见的层合并操作。
23 1
|
2月前
|
机器学习/深度学习
【Python-Keras】keras.layers.Dense层的解析与使用
关于Python-Keras库中keras.layers.Dense层的解析与使用。
37 1
|
11月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch torch.nn库以及nn与nn.functional有什么区别?
Pytorch torch.nn库以及nn与nn.functional有什么区别?
79 0
|
机器学习/深度学习 PyTorch 算法框架/工具
pytorch中nn.ReLU()和F.relu()有什么区别?
pytorch中nn.ReLU()和F.relu()有什么区别?
485 0
|
PyTorch 算法框架/工具
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
489 2
PyTorch中 nn.Conv2d与nn.ConvTranspose2d函数的用法
|
机器学习/深度学习 PyTorch 算法框架/工具
【PyTorch】nn.ReLU()与F.relu()的区别
【PyTorch】nn.ReLU()与F.relu()的区别
145 0
|
机器学习/深度学习 PyTorch 算法框架/工具