3 ms·
Because that's not my workflow looks like? * Fire up Jupyter notebook, create some PyTorch nn.Module, validate the output is expected. * Built out the model,
by liuliu 3y ago
Because that's not my workflow looks like?
* Fire up Jupyter notebook, create some PyTorch nn.Module, validate the output is expected.
* Built out the model, validate the output is expected.
* Check the data shape, do a eval() run with the data.
* Move out of Jupyter notebook (or not), to actually run the trainer.
Each of the "build out model" phase, shape inference at compile time would be kind of annoying especially if you have a LSP constantly running compilation.
- GaggiX 3y agoThat's also my workflow but the "Check the data shape, do a eval() run with the data." is the annoying process I was describing, the iterative "waiting for the model to run", "see that it doesn't work", "print random tensor shape trying the debug the code" etc... There is nothing annoying about having an oracle that can check it instantly unless you think that suffering should be part of the experience.
- liuliu 3y agoI am not arguing against having an oracle. Just saying in the static type-system (like the ones in Rust / C++ / Swift) would be too frequent to invoke to inhibit development. I think having a linter pass or similar is great. Much like TypeScript actually, where the type hint is the addon rather than intrinsic to the development process, making various things easier at REPL time.
- jayshua 3y agoIs this just an issue with the way the editor is presenting the LSP feedback to you?