IGM (Intelligence Guidance Manager for AI).
The ultimate purpose of AI is to serve science (as ai4science does), so let's call it sci-igm.
You can simply install it with pip command line from the official PyPI site.
pip install sci-igmOr install from latest source code as follows:
git clone https://github.com/igm4ai/igm.git
cd igm
pip install . --userHere is a simple example to create a hello world project:
igm new git+https://github.com/igm4ai/template-simple helloword # create helloworld project
cd helloword
igm run # run the helloworld projectAfter you enter the igm new <template> <proj_dir> command to your terminal, igm operate as the following stages:
- Initialization Stage - Check the template, if remote url or repository detected, download it to local storage.
- Project Creation Stage
- Load Step - Load the template's meta information.
- Inquire Step - Ask the user to provide some necessary.
- Build Step - Build the project based on the template, the project will be placed at
<proj_dir>.
- Project Use Stage
- (Optional) Prerequisite Installation - run
igm run installcommand to install the dependencies. - Code Run - run
igm runcommand to run the main project code. - What Scripts Are Provided? - run
igm run -hto see the list of provided scripts. - (Optional) Other custom scripts - you can use the other scripts provided by template, or custom the extra scripts
in
igmeta.py.
- (Optional) Prerequisite Installation - run
The detailed documentation is still preparing, but you can take a look at the following examples:
- template-simple, a helloworld template example
- template-linear-regression, a more advanced example of linear regression problem, with visualization example
- template-resnet18, template for resnet18, including resource download and usage of tensorboard
- IGM-di, example of usage of DI-engine, including custom complex generating of training code
- Test Template, a test template for unittest of igm tools, more advanced usage can be found here.
For information on template syntax, see the following:
- Jinja2, the template render framework we used in IGM.
- potc, transform any object to readable python object, will be useful when render
python source code. It is integrated into IGM with a filter named
potc.
We appreciate all contributions to improve igm, both logic and system designs. Please refer to CONTRIBUTING.md
for more guides.
igm released under the Apache 2.0 license.