torchnet
- torchnet用于torch的代码复用和模块化编程框架,主要包含四个类
- Dataset: 以不同的方式对数据进行预处理.
- Engine: 训练/测试机器学习方法
- Meter评估方法性能
- Log日志.
Documentation
torchnet的调用
local tnt = require ‘torchnet’
tnt.Dataset()
torchnet提供了多种即插即用的数据容器(data.container),例如:
concat,split,batch,resample,etc … 操作。
tnt.Dataset()实例包含两种方法:
- dataset.size() 返回数据集大小
- dataset.get(idx): 其中 i d x idx idx是1到size中的数据,返回数据集的第 i d x idx idx个样本.
- 尽管可以简单的通过for loop循环实现数据集的迭代,为了用户能够以 o n − t h e − f l y − m a n n e r on-the-fly-manner on−the−fly−manner找出某些样本或者并行的数据读取,torchnet还提供了一些 D a t a s e t I t e r a t o r DatasetIterator DatasetIterator类型的迭代器
在torchnet中,dataset:get()返回的可以是一个Lua table。table中的阈值可以是任意的,即使大多数的数据集都是tensor类型。
需要注意的是,并不能直接的使用
t
n
t
.
D
a
t
a
s
e
t
(
)
tnt.Dataset()
tnt.Dataset()创建该类型,该类型类似于一个抽象类,其下面的具体类包括
b
a
t
c
h
d
a
t
a
s
e
t
,
s
p
l
i
t
d
a
t
a
s
e
t
batchdataset,splitdataset
batchdataset,splitdataset等.
a={{1,2,3},{2,3,4},{2,2,2}}
b=torch.Tensor(a)
f=tnt.ListDataset({list=b:long(),function(x) return x:sum() end})
print(f:size()) -- 3
print(f:get(1))
总结
慢慢的将torchnet库都给其搞明白,全部都将其研究彻底都行啦的理由于打算.