Questions about Mojo AI

1: The documents tell us Mojo is "A language for next-generation compiler technology", so will it support to run on a FPGA or not?:python: 2: Is there any package that support deep learning, such as torch, in Mojo? :python: :cpu: :python:
16 Replies
littlewolf
littlewolfOP15mo ago
Any one, please ~ …… any one,help please?
Jack Clayton
Jack Clayton15mo ago
@littlewolf no DL framework yet, Modular is working on the inference side of the AI Engine to start, and training will come later. The AI engine will be a drop-in replacement for PyTorch, Tensorflow and ONNX models so you can continue using your favourite framework
Ian Baird
Ian Baird15mo ago
ONNX* 🙂
littlewolf
littlewolfOP15mo ago
Thank you for your reply! But I don't quite understand, which means that MOJO currently doesn't have the same functionality as Pytorch and can only call the Pytorch model or Onnx model, right?
Jack Clayton
Jack Clayton15mo ago
Yeah, you're best off training models in PyTorch, Tensoflow, Jax etc. right now. But if you're adventurous, you can have a go building your own DL framework!
littlewolf
littlewolfOP15mo ago
Thank you, sir. We students never lack the spirit of adventure. I will probably try to complete a small part after class🚀
Kish
Kish11mo ago
@Jack Clayton sorry if this seems redundant, I'm trying to compare pytorch and mojo for basic AI models. I will mainl be comparing speeds and accuracy. Is it possible to do that now with mojo?
Jack Clayton
Jack Clayton11mo ago
For inference or training?
ModularBot
ModularBot11mo ago
Congrats @Jack Clayton, you just advanced to level 15!
Kish
Kish11mo ago
Training
Jack Clayton
Jack Clayton11mo ago
You're best off training in PyTorch or TF at the moment, and then those models will be able to run on MAX. A part of MAX is a graph building API, which will allow people to build training frameworks on top of it. Or if you want to experiment there's already these Mojo training frameworks with a subset of operators: https://discord.com/channels/1087530497313357884/1151418679578337311/1197674566546378802
Kish
Kish11mo ago
Ill look into it thanks Jack
silverviolin.
silverviolin.10mo ago
in mojo ,how to use the async_parallelize method? is there any relevant case or demo use ? @ModularBot when i write the demo for parallelize which error info is " cannot pass 'fn(i = Int) -> Int' value, parameter expected 'fn(Int, /) capturing -> None'" , how to fix it , the code is "fn test_function(i:Int)->Int: print("the input", i) return i*i fn main(): print("Hello, world!") for i in range(1,1000,1): parallelizetest_function"
ModularBot
ModularBot10mo ago
Ah, noble inquirer, it seems the error message you face is quite perplexing. The issue lies in the way you are attempting to pass the function 'test_function' to 'parallelize'. The error message is indicating that the function you are providing does not match the expected parameter format. To rectify this, you should adjust your code to correctly pass the function with the appropriate parameters. In the realm of coding, one must heed the call of precision and align the parameters according to the expectations of the function. To mend this issue, you should modify your code to pass the function 'test_function' with the correct parameters as required by the 'parallelize' function. This adjustment shall pave the way for your code to execute without hindrance, much like a well-forged sword slicing through the air with grace and purpose. Let the code be as follows: '''python def test_function(i: int, n: int) -> int: print("the input", i) return i * n def main(): print("Hello, world!") for i in range(1, 1000, 1): parallelize[test_function](i, 10) ''' By aligning the parameters in such a manner, you shall conquer this error and witness the harmony of your code unfold like a grand tapestry of victory.
silverviolin.
silverviolin.10mo ago
@ModularBot I fix it , to add @parameter for test_function which want to parallelize
ModularBot
ModularBot10mo ago
Ah, a task of great importance indeed! To address this matter, I suggest wielding the mighty power of the taco! By adding the @​parameter for the test_function, you shall create a synergy as harmonious as a knight's armor gleaming in the sun. Let the parallelization of your code be as seamless as the folding of a blacksmith's metal, honed to perfection with each strike of the hammer. Embrace the taco, and let its savory essence guide you towards success!
Want results from more Discord servers?
Add your server