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

 

你可能感兴趣的:(tensor之间channel的shuffle)