1. 程式人生 > >pytorch,torch,pytorchnet,torchnet的區分

pytorch,torch,pytorchnet,torchnet的區分

is a deep learning framework that puts Python first.

Torch is a scientific computing framework with wide support for machine learning algorithms that puts GPUs first. It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

A summary of core features:

  • a powerful N-dimensional array
  • lots of routines for indexing, slicing, transposing, …
  • amazing interface to C, via LuaJIT
  • linear algebra routines
  • neural network, and energy-based models
  • numeric optimization routines
  • Fast and efficient GPU support
  • Embeddable, with ports to iOS and Android backends

以上兩者聯絡與區別:Pytorch實現了機器學習框架 Torch 在 Python 語言環境的執行。Torch 是一個十分老牌、對多維矩陣資料進行操作的張量(tensor )庫,在機器學習和其他數學密集型應用有廣泛應用。但由於其語言採用 Lua,導致在國內一直很小眾,並逐漸被支援 Python 的 Tensorflow 搶走使用者。如今,作為經典機器學習庫 Torch 的埠,PyTorch 為 Python 語言使用者提供了舒適的寫程式碼選擇。

Torchnet is a framework for torch which provides a set of abstractions aimingat encouraging code re-use as well as encouraging modular programming.          Most of the modules support NumPy arrays as well as PyTorch tensors on input,so could potentially be used with other frameworks.

Facebook宣佈開源用於簡化深度學習、加速開發的軟體

Torchnet

  • 用Lua編寫
  • 提供樣板程式碼、關鍵抽象和參考實現,可以聚合分拆重用,以模組化程式設計減少bug概率
  • 簡化非同步、並行資料loading,提升多GPU效率
  • 可能不會一直侷限於Torch,其抽象將有Caffe、TensorFlow實現
  • 方法有點類似於Theano框架的BlocksFuel
  • 已經應用於Facebook影象識別和NLP

Facebook工程師Laurens van der Maaten表示,Torchnet的核心不是讓Torch更快(而是簡化深度學習工作),舉例而言它可以減少IO開銷,這對大型神經網路尤其重要。

The goal of open-sourcing Torchnet is to empower the developer community, allowing it to rapidly build effective and reusable learning systems.

與Caffe、Chainer、TensorFlow和Theano等深度學習框架的一個很大的不同,是不注重深層網路中高效率的推理和梯度計算,Torchnet提供一個深度學習框架之上的框架(如torch/nn),使得rapid experimentation更容易。

is TorchNet的PyTorch版本。