torch入门笔记16:Sequencialization序列化

1.序列化

Torch提供4种高级方法来序列化或者反序列化任意Lua/Torch对象。这些方法都是从File对象抽象出来的,为了方便操作而创建。

 

前两种方法用来从文件序列化或者反序列化的:

torch.save(filename,object [, format])

[object] torch.load(filename [, format])

 

下面两个函数是从字符串中序列化或者反序列化的:

[str] torch.serialize(object [,format])

[object] torch.deserialize(str [,format])

 

序列化成文件可用于保存任意类型数据结构,共享之类的。序列化为字符串的好处在于数据结构可以保存在数据库中,或者第三方软件中。

 

下面详细讲解各个函数的用法。

1.1 torch.save(filename,object [, format])

把object对象写入文件filename中,format可选为ascii和binary,默认是binary。二进制类型是与平台相关的,但是很紧凑并且读写速度很快。ASCII类型与平台无关,可以跨平台共享。

 

-- arbitrary object:

obj = {

   mat = torch.randn(10,10),

   name = '10',

   test = {

      entry = 1

   }

}

 

-- save to disk:

torch.save('test.dat', obj)

 

1.2 [object] torch.load(filename [, format])

从文件中读取对象。

 

-- given serialized object from section above, reload:

obj = torch.load('test.dat')

 

print(obj)

-- will print:

-- {[mat]  = DoubleTensor - size: 10x10

--  [name] = string : "10"

--  [test] = table - size: 0}

1.3 [str] torch.serialize(object [,format])

将对象序列化为字符串(

-- arbitrary object:

obj = {

   mat = torch.randn(10,10),

   name = '10',

   test = {

      entry = 1

   }

}

 

-- serialize:

str = torch.serialize(obj)

1.4 [object] torch.deserialize(str [,format])

从字符串中反序列化对象,默认仍然是binary的。

-- given serialized object from section above, deserialize:

obj = torch.deserialize(str)

 

print(obj)

-- will print:

-- {[mat]  = DoubleTensor - size: 10x10

--  [name] = string : "10"

--  [test] = table - size: 0}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值