Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

PyTorch vs Torch: What are the differences?

PyTorch and Torch are both popular deep learning frameworks. Let's explore the key differences between them.

  1. Architecture and Development: The major difference between PyTorch and Torch lies in their architecture and development. PyTorch is based on Torch, but it has been re-engineered to provide a more dynamic and intuitive development experience. It includes features such as automatic differentiation, which allows developers to define and optimize computational graphs on the fly. In contrast, Torch uses a more static and declarative approach to building and optimizing computational graphs.

  2. Pythonic Interface: PyTorch is designed to have a more pythonic interface compared to Torch. It leverages the power and simplicity of Python, making it easier for developers to write and debug deep learning models. Torch, on the other hand, provides a Lua interface, which may require additional effort for developers who are not familiar with the language.

  3. Popularity and Community Support: PyTorch has gained significant popularity in recent years and has a large and active community. It has become the preferred choice for many researchers and practitioners in the deep learning community. Torch, while still widely used, may not have the same level of popularity and community support as PyTorch.

  4. Development and Maintenance: PyTorch is actively developed and maintained by Facebook's AI Research (FAIR) group. This ensures that the framework is constantly updated with new features and bug fixes. Torch, on the other hand, is primarily developed and maintained by a smaller group of developers. While it is still actively maintained, the development pace may not be as fast as PyTorch.

  5. Integration with Python Libraries: PyTorch seamlessly integrates with other popular Python libraries such as NumPy, SciPy, and scikit-learn. This allows developers to leverage the rich ecosystem of Python libraries and tools for data manipulation and analysis. Torch, being primarily Lua-based, may not have the same level of integration with Python libraries, although there are ways to bridge the two languages.

In summary, PyTorch offers a more dynamic and pythonic experience with a larger community, while Torch may be preferred by developers who are already familiar with Lua or have specific requirements.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of PyTorch
Pros of Torch
  • 15
    Easy to use
  • 11
    Developer Friendly
  • 10
    Easy to debug
  • 7
    Sometimes faster than TensorFlow
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of PyTorch
    Cons of Torch
    • 3
      Lots of code
    • 1
      It eats poop
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is PyTorch?

      PyTorch is not a Python binding into a monolothic C++ framework. It is built to be deeply integrated into Python. You can use it naturally like you would use numpy / scipy / scikit-learn etc.

      What is Torch?

      It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use PyTorch?
      What companies use Torch?
      See which teams inside your own company are using PyTorch or Torch.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with PyTorch?
      What tools integrate with Torch?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      Dec 4 2019 at 8:01PM


      What are some alternatives to PyTorch and Torch?
      TensorFlow is an open source software library for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API.
      Deep Learning library for Python. Convnets, recurrent neural networks, and more. Runs on TensorFlow or Theano.
      Caffe2 is deployed at Facebook to help developers and researchers train large machine learning models and deliver AI-powered experiences in our mobile apps. Now, developers will have access to many of the same tools, allowing them to run large-scale distributed training scenarios and build machine learning applications for mobile.
      A deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity. At its core, it contains a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly.
      scikit-learn is a Python module for machine learning built on top of SciPy and distributed under the 3-Clause BSD license.
      See all alternatives