Torch (học máy)
Torch là một thư viện học máy mã nguồn mở, một framework tính toán khoa học và là một ngôn ngữ kịch bản dựa trên ngôn ngữ lập trình Lua.[3] Nó cung cấp một lượng lớn các thuật toán về học sâu, sử dụng ngôn ngữ kịch bản LuaJIT và ngôn ngữ thực thi C được tạo ra tại IDIAP ở EPFL. Từ năm 2018, Torch không còn được phát triển nữa.[4] Tuy vậy, PyTorch - vốn dựa trên thư viện Torch, thì đang được phát triển từ tháng 10 năm 2022.[5] torchGói cốt lõi của Torch là Ví dụ sau đây sử dụng torch thông qua trình biên dịch REPL: > a = torch.randn(3,4)
> =a
-0.2381 -0.3401 -1.7844 -0.2615
0.1411 1.6249 0.1708 0.8299
-1.0434 2.2291 1.0525 0.8465
[torch.DoubleTensor of dimension 3x4]
> a[1][2]
-0.34010116549482
> a:narrow(1,1,2)
-0.2381 -0.3401 -1.7844 -0.2615
0.1411 1.6249 0.1708 0.8299
[torch.DoubleTensor of dimension 2x4]
> a:index(1, torch.LongTensor{1,2})
-0.2381 -0.3401 -1.7844 -0.2615
0.1411 1.6249 0.1708 0.8299
[torch.DoubleTensor of dimension 2x4]
> a:min()
-1.7844365427828
Gói Các đối tượng sử dụng torch factory cũng được tuần tự hóa, miễn là chúng không chứa tham chiếu đến các đối tượng không thể tuần tự hóa, như các coroutine dạng Lua và userdata dạng Lua. Tuy nhiên, userdata có thể tuần tự hóa nếu nằm trong một kiểu table (hay metatable) cung cấp các phương thức nnGói > mlp = nn.Sequential()
> mlp:add( nn.Linear(10, 25) ) -- 10 input, 25 unit ẩn
> mlp:add( nn.Tanh() ) -- một số hàm truyền tiếp tuyến hyperbol
> mlp:add( nn.Linear(25, 1) ) -- 1 output
> =mlp:forward(torch.randn(10))
-0.1815
[torch.Tensor of dimension 1]
Các hàm mất mát được thực thi như các lớp con của function gradUpdate(mlp, x, y, learningRate)
local criterion = nn.ClassNLLCriterion()
pred = mlp:forward(x)
local err = criterion:forward(pred, y);
mlp:zeroGradParameters();
local t = criterion:backward(pred, y);
mlp:backward(x, t);
mlp:updateParameters(learningRate);
end
Ngoài ra, nó cũng có lớp Các gói khácNhiều gói khác với các gói đã nêu ở trên được Torch cung cấp. Chúng được liệt kê trong cheetsheet của torch.[6] Các gói bổ sung này cung cấp một loạt các tiện ích như tính song song, đầu vào/đầu ra không đồng bộ, xử lý ảnh, v.v. Dùng LuaRocks để cài đặt, trình quản lý gói Lua cũng được bao gồm trong Torch. Ứng dụngTorch được sử dụng bởi Nhóm nghiên cứu AI của Facebook,[7] IBM,[8] Yandex[9] và Viện nghiên cứu Idiap.[10] Torch cho phép sử dụng rộng rãi trên Android[11] và iOS.[12] Nó được sử dụng để tạo nên các phương pháp thực thi phần cứng cho luồng dữ liệu giống như mạng neuron.[13] Facebook đã phát hành một bộ module mở rộng dưới dạng phần mềm mã nguồn mở.[14] Xem thêmTham khảo
Liên kết ngoài |