使用grid_sample和fold提取块的操作

使用grid_sample和fold提取块的操作

import torch
import numpy as np
from imageio import imread, imsave
from PIL import Image
import torch.nn.functional as F
from Patch_model.DeformSearch import DeformSearch
Ref = imread("0.png")
Ref = Ref.astype(np.float32)
Ref = Ref / 127.5 - 1.
Ref_t = torch.from_numpy(Ref.transpose((2,0,1))).unsqueeze(0).float().cuda()#[b,c,h,w]
b,c,h,w =Ref_t.size()
y, x = torch.meshgrid(torch.arange(0, h,device='cuda'), torch.arange(0, w,device='cuda'))
y=y.view(1,1,1,h,w)
x=x.view(1,1,1,h,w)
DeformSearch3 = DeformSearch(3 * 3, 3 ).cuda()##offset [B,K,2N,H,W]  inref # [B,K,1,H,W] x[B,C,H2,W2]
offset=torch.zeros(1,1,18,h,w).cuda()
s=DeformSearch3(offset, Ref_t, y.float(), x.float()).squeeze(1)# [1,1,3*9,H*W]
T_lv3 = F.fold(s, output_size=Ref_t.size()[-2:], kernel_size=(3, 3), padding=1) / (3. * 3.)#[B,c,H,W]
tp_save = (T_lv3 + 1.) * 127.5
tp_save = np.transpose(tp_save.squeeze().round().cpu().numpy(), (1, 2, 0)).astype(np.uint8)
save_path =  "xiar.png"
imsave(save_path, tp_save)
imsave("xir.jpg", tp_save)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
train_test_split和k_fold都是用于数据集划分的方法,但在实现上有一些不同。 train_test_split是交叉验证中常用的函数,它可以从样本中随机地按比例选取训练集和测试集。在使用sklearn库中的train_test_split函数时,我们可以指定要划分的数据集、训练集和测试集的比例以及随机种子。例如,可以使用以下代码将数据集划分为训练集和测试集: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(train_data, train_target, test_size=0.2, random_state=0) ``` k-fold是一种交叉验证技术,它将数据集划分为k个子集,其中k-1个子集用于训练模型,剩余的一个子集用于测试模型。这个过程会重复k次,每次使用不同的子集作为测试集。k-fold交叉验证可以更准确地评估模型的性能,因为它使用了整个数据集的多个子集进行训练和测试。例如,可以使用以下代码将数据集划分为k个子集,并进行k-fold交叉验证: ```python from sklearn.model_selection import KFold k_fold = KFold(n_splits=5) for train_index, test_index in k_fold.split(data): X_train, X_test = data[train_index], data[test_index] y_train, y_test = target[train_index], target[test_index] # 在这里使用LVQ算法进行训练和测试 ``` 综上所述,train_test_split和k_fold都是用于数据集划分的方法,但train_test_split是按比例随机选取训练集和测试集,而k-fold是将数据集划分为k个子集进行交叉验证。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [数据集划分train_test_split\交叉验证Cross-validation](https://blog.csdn.net/u010986753/article/details/98069124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [手搓函数,实现train_test_split一样的数据集划分](https://blog.csdn.net/ouyang_xiaogan/article/details/123279970)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [lvq.rar_5-fold_The Fold_k fold_k fold cross_lvq](https://download.csdn.net/download/weixin_42665255/86613035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值