Quais são as diferenças entre o Torch e o Pytorch?
PyTorch não é apenas uma interface. Sua relação com o código C/C++ subjacente é mais próxima do que na maioria das bibliotecas para computações científicas. O caminho mais comum é construir uma versão de baixo nível e então criar várias interfaces para as linguagens de alto nível mais populares, Python, R, o que quer que seja.
Não neste caso. O código subjacente é especificamente adaptado para o propósito final - rodar código python. Muito trabalho foi feito no gerenciamento e otimização da memória (e é realmente impressionante como tudo é rápido), mas eu realmente não sei detalhes sobre isso. Em vez disso, eu quero apontar uma mudança que importa muito.
Na Lua Torch havia containers. Em Pytorch eles desapareceram. Você constrói seu modelo como uma subclasse de Module e redefine o passo à frente como um método, o que é uma boa maneira de fazê-lo sem a verbosidade de TensorFlow (que tem seus benefícios, no entanto).
Containers em Lua Torch, se você passar algum tempo trabalhando com eles, tem um problema, você realmente não sabe o que acontece dentro. Se você quer convolver alguma camada A, então faça uma reavaliação e uma concatenação com a camada A e faça algo com o resultado, bem, talvez você consiga escrever algo similar (você ainda não pode ter certeza que ele faz exatamente isso). Mas como é que os gradientes vão fluir? Os contentores não respondem a esta pergunta. Essas coisas sutis que não surgem frequentemente, mas são importantes às vezes, só podem ser encontradas com o tempo.
Em Pytorch esse processo é completamente transparente, ainda melhor, você pode executar seu código linha por linha e verificar a dimensionalidade de cada tensor. As mensagens de erro são compreensíveis e realmente fazem sentido. Eu queria muito isto enquanto usava Theano/Lasagne.
Então, pelo menos porque eles resolveram um grande problema arquitetônico sem quebrar nada, vale a pena olhar para.
Artigos semelhantes
- Por que alguém deveria escolher o BlackBerry Torch em vez do Android HTC Desire?
- Quais são as diferenças entre o Snapdragon 665 e o 662 da Qualcomm? Qual é a melhor entre elas?
- As versões para PC dos jogos são melhores do que as versões para console? Quais são as diferenças entre as duas?
- Quais são as principais diferenças entre um Samsung Galaxy S9 e um Samsung Galaxy S20? Como são os grandes upgrades para o S20?