
你好,我有一个张量'A‘在放火火炬批x通道x高度x宽度。我想把它重塑成'B‘,使双介子H和W增加'r’,使通道减少'r^2‘。对于'r'=2,图示如图所示。在图中,如果'B‘有4个通道那么前4个通道,第4个通道具有边框颜色紫罗兰色,那么'A’中的前4个通道将是带有红色、绿色、蓝色和紫色边框颜色的peack/皮肤颜色像素,其余的通道将相应调整。
我知道“包”和“解压”每一个都可以用2个for循环来完成。但这需要更多的时间。在PyTorch中应该有矢量化的方式在'A‘和'B’之间进行切换,只需修改和修改命令。有人能帮我吗?
在这个例子中,批处理大小被设置为1。但是如果批处理维度更大,我希望图中显示的操作在每个批处理条目上单独操作。
谁能帮我用一个通用代码在A和B之间切换在PyTorch中的矢量方式。更好的情况是,当批处理大小大于1时,也可以这样做。
请注意这两个操作不能用已经实现的nn.PixelShuffle完成
非常感谢。
发布于 2020-05-07 13:50:08
尽管这可以通过仔细的排列和整形来完成,但是py手电已经用nn.PixelShuffle实现了这一点。
https://stackoverflow.com/questions/61657947
复制相似问题