2021
07-22
07-22
解决pytorch load huge dataset(大数据加载)
问题最近用pytorch做实验时,遇到加载大量数据的问题。实验数据大小在400Gb,而本身机器的memory只有256Gb,显然无法将数据一次全部load到memory。解决方法首先自定义一个MyDataset继承torch.utils.data.Dataset,然后将MyDataset的对象feedintorch.utils.data.DataLoader()即可。MyDataset在__init__中声明一个文件对象,然后在__getitem__中缓慢读取数据,这样就不会一次把所有数据加载到内存中了。训练数据存放在train.txt中...
继续阅读 >
目录一、前言二、Dataset三、DatasetLoader四、将Dataset数据和标签放在GPU上(代码执行顺序出错则会有bug)一、前言确保安装scikit-imagenumpy二、Dataset一个例子:#导入需要的包importtorchimporttorch.utils.data.datasetasDatasetimportnumpyasnp#编造数据Data=np.asarray([[1,2],[3,4],[5,6],[7,8]])Label=np.asarray([[0],[1],[0],[2]])#数据[1,2],对应的标签是[0],数据[3,4],对应的标签...
先看一段代码: privateDataSetGetDataSet(stringstrsql){stringstrcon="server=192.168.2.1,1433;uid=sa;pwd=123456;database=MyDB";SqlConnectioncon=newSqlConnection(strcon);DataSetds=newDataSet();try{SqlDataAdapterDA=newSqlDataAdapter(strsql,con);DA.Fill(ds,"tb");}catch(SqlExceptionE){thrownewException(E.Message);}con.Close();//关闭数...