Pytorch 定义MyDatasets实现多通道分别输入不同数据方式

yipeiwu_com7年前Python基础

最近在做一个项目,用双通道神经网络,每个通道输入不同数据训练,具有相同label。开始没想到如何实现,网上很多例子都是单通道,即便找到双通道的例子,两个通道的输入也相同。

最后,终于想到了一个办法。多输入和单输入其实是一样的,只需要重新改写torch.utils.data.Datasets. 需要改写class Dataset里面的init、len和getitem

一个例子:

 class MyDataset(data.Dataset):
  def __init__(self, data1,data2, labels):
    self.data1= data1
    self.data2= data2
    self.labels = labels # 我的例子中label是一样的,如果你的不同,再增加一个即可

  def __getitem__(self, index):  
    img1,img2, target = self.data1[index], self.data2[index], self.labels[index]
    return img1,img2, target

  def __len__(self):
    return len(self.data1) # 我的例子中len(self.data1) = len(self.data2)

以上这篇Pytorch 定义MyDatasets实现多通道分别输入不同数据方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用xauth方式登录饭否网然后发消息

开发环境:python版本2.X 复制代码 代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# 适合python版本:2.X import...

pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例

pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例

代码如下,步骤流程在代码注释中可见: # -*- coding: utf-8 -*- import pandas as pd from pyspark.sql import Spar...

python tornado使用流生成图片的例子

监控中,通常要使用图片更直观的看出集群的运行状况。 以下是一个简单的demo,通过rrdtool生成动态的图片。Python3, tornado. web.py templates/in...

巧用python和libnmapd,提取Nmap扫描结果

每当我进行内网渗透面对大量主机和服务时,我总是习惯使用自动化的方式从 nmap 扫描结果中提取信息。这样有利于自动化检测不同类型的服务,例如对 web 服务进行路径爆破,测试 SSL/T...

python实现JAVA源代码从ANSI到UTF-8的批量转换方法

本文实例讲述了python实现JAVA源代码从ANSI到UTF-8的批量转换方法。分享给大家供大家参考。具体如下: 喜欢用eclipse的大神们,可能一不小心代码就变成ANSI码了,需要...