tensor之间channel的shuffle

实验python train.py -opt options/train/train_sr.json

先激活虚拟环境source activate pytorch

tensorboard --logdir tb_logger/ --port 6008

浏览器打开http://172.20.36.203:6008/#scalars
 

 

固定对半的shuffle以及随机shuffle

        X_h =X_h2h
        X_l =X_l2l


        ###########################################
        # # a=X_h[:,0:16]
        # # b=X_h[:,16:]
        # c=X_l[:,16:]
        # # print(a.shape)
        # # print(b.shape)
        # print(c.shape)
        # exit()
        #######################################################
        #X_h=X_h.shuffle(1)
        #X_l=X_l.shuffle(1)
        # ###################################################################################
        # a=X_h[:,:(X_h.shape[1]//2)]
        # b=self.upsample(X_l[:,(X_l.shape[1]//2):])
        # c=X_l[:,:(X_l.shape[1]//2)]
        # d=self.h2g_pool(X_h[:,(X_h.shape[1]//2):])
###############################################################################################################
        k=[]#######for index
        for i in range (0,X_h.shape[1]):
            k.append(i)
        random.shuffle(k)
        k1=k[:X_h.shape[1]//2]
        k2=k[X_h.shape[1]//2:]
        ###################################################################

        X_h1 = X_h[:,k1,:,:]
        X_h2 = X_h[:,k2,:,:]
        X_lH=self.upsample(X_l)
        X_lH1 = X_lH[:,k1,:,:]
        X_lH2 = X_lH[:,k2,:,:]

        #####################################################
        X_l1 = X_l[:,k1,:,:]
        X_l2 = X_l[:,k2,:,:]
        X_hL=self.h2g_pool(X_h)
        X_hL1 = X_hL[:,k1,:,:]
        X_hL2 = X_hL[:,k2,:,:]

        J=torch.cat((X_h1, X_lH2), dim=1)
        G=torch.cat((X_l2, X_hL1), dim=1)

        X_l=G
        X_h=J

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`bm_image_to_tensor`是百度PaddleX中的一个函数,用于将图像转换为Tensor格式。其详细解释如下: 函数原型:`bm_image_to_tensor(image, order='hwc')` 参数说明: - `image`:输入的图像数据,可以是numpy.ndarray或者PIL.Image.Image格式。 - `order`:图像数据的通道顺序,可以是'hwc'(默认)或'chw'。 返回值:返回Tensor格式的图像数据。 函数作用:将输入的图像数据转换为Tensor格式,方便输入到模型中进行预测。 具体实现细节: - 对于numpy.ndarray格式的图像数据,`bm_image_to_tensor`函数会将其转换为Tensor格式,并将像素值归一化至[0, 1]之间。 - 对于PIL.Image.Image格式的图像数据,`bm_image_to_tensor`函数会先将其转换为numpy.ndarray格式,然后再按照上述方式进行处理。 - `order`参数用于指定图像数据的通道顺序,如果是'hwc'(默认),则表示通道顺序为(height, width, channel),如果是'chw',则表示通道顺序为(channel, height, width)。 示例代码: ```python import paddle from paddle.vision.transforms import Compose, Normalize from paddlex.paddleseg.cvlibs import manager from paddlex.paddleseg.transforms import * from paddlex.paddleseg.utils import get_encoding, get_palette from paddlex import transforms as T from paddlex.paddleseg.datasets import Dataset from paddlex.paddleseg.datasets import transforms # 定义数据增强方式 train_transforms = [ T.RandomPaddingCrop(crop_size=512), T.RandomHorizontalFlip(), T.Normalize(), T.ToTensor(), ] # 定义数据集 train_dataset = Dataset( data_dir='data/seg_dataset/train', file_list='data/seg_dataset/train_list.txt', label_list='data/seg_dataset/labels.txt', transforms=train_transforms, shuffle=True) # 定义数据加载器 train_loader = paddle.io.DataLoader( train_dataset, batch_size=4, shuffle=True, drop_last=True, num_workers=2, use_shared_memory=True) # 加载数据 for data in train_loader: img = data[0][0] label = data[1][0] img = transforms.bm_image_to_tensor(img, order='hwc') label = transforms.bm_image_to_tensor(label, order='hwc') print('img shape: ', img.shape) print('label shape: ', label.shape) break ``` 在以上示例代码中,我们使用`bm_image_to_tensor`函数将输入的图像数据转换为Tensor格式,并打印出其形状。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值