2015-11-15 18 views
5

Tôi có một chương trình được viết bằng python và tôi có mô hình ConvNet được đào tạo bằng Toch7. Tôi muốn gọi về phía trước và backpro cho các mô hình từ chương trình python như tôi thấy khó khăn và khó khăn để viết nó một lần nữa trong lua.Gọi hàm torch7 (Lua) từ python?

Bạn có ý tưởng nào không?

Trả lời

2

Tôi nghĩ bạn hiện có giải pháp tốt hơn nhiều, là lutorpy. Khác với pytorch, bạn có một động cơ lua trong python, do đó, linh hoạt hơn khi nhập bất kỳ mô đun lua và mã nào vào python và dễ sử dụng và linh hoạt. Đối với pytorch bạn chỉ có rất ít mô-đun được chuyển đổi mà bạn có thể trực tiếp sử dụng trong python.

Với lutorpy, bạn có thể chuyển đổi giữa numpy và torch tensor một cách dễ dàng và rất nhanh.

Đối với các bạn trường hợp, bạn có thể viết mã của bạn trong python như thế này:

import numpy as np 
import lutorpy as lua 

model = torch.load('PATH TO YOUR MODEL FILE') 

# generate your input data with numpy 
arr = np.random.randn(100) 

# convert your numpy array into torch tensor 
x = torch.fromNumpyArray(arr) 

# apply model forward method with "._" syntax(which is equivalent to ":" in lua) 
y = model._forward(x) 

Một so sánh ngắn gọn giữa thư viện khác nhau: How can I load and use torch deep learning models from python?

+1

pytorch tác giả ở đây. pytorch chứa một động cơ lua đầy đủ. Nó sẽ chạy hoặc luajit (linux) hoặc lua (mac). Bạn có thể nhập các lớp lua của riêng bạn ngay bây giờ. Xem ví dụ https://github.com/hughperkins/pytorch-residual-networks hoặc https://github.com/hughperkins/cifar.pytorch –

1

Như đã được đề xuất bởi một trong các tác giả Torch trên torch7 maillist, bạn có thể thử pytorch.