torch / socketfile

adds file-over-sockets support for torch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Files over sockets for Torch

This package adds support for torch.SocketFile and torch.SocketFileServer classes in Torch. It is shipped separately from Torch, as it adds an extra dependency to the socket package. However, a torch.SocketFile is a sub-class of torch.File and could be used at any place where a torch.File is used.

Typical usage

First, you must create a file server with torch.SocketFileServer:

server = torch.SocketFileServer{
   port = 8000, -- arbirary port number
   verbose = true   
}

print('running on', server:hostname(), 'at port', server:port())

server:loop()

Specify the flag ipv6 = true if you are running on a ipv6 network.

Then, you can have processes opening some torch.SocketFile, using the hostname and port specified above.

file = torch.SocketFile{
   hostname = <hostname>, -- specify correct hostname here
   port = <port>, -- specify correct port here
   filename = "foobar.txt",
   mode = "w" -- same modes than torch.DiskFile are supported
}

Specify the flag ipv6 = true if you are running on a ipv6 network.

The opened file should then support the same methods than torch.DiskFile.

print("> sending string")
file:writeString("hello world\n")

print("> sending 10 numbers")
for i=1,10 do
   file:writeObject(i)
end

See example in test/ directory for more.

About

adds file-over-sockets support for torch

License:Other


Languages

Language:Lua 100.0%