mirror of
				https://github.com/ml-explore/mlx.git
				synced 2025-11-04 10:38:10 +08:00 
			
		
		
		
	Export / import functions to / from a file (#1642)
* export and import functions * refactor + works for few primitives * nit * allow primitives with state * nit * nit * simplify serialize / deserialize * fix for constants * python bindings * maybe fix serialize failure case * add example * more primitives, training kind of works * same result for python and c++ * some fixes * fix export * template it up * some simplificatoin * rebase * allow kwargs and multiple functions * exporter * more primitives for exporting * deal with endianness * handle invalid stream * add docstring
This commit is contained in:
		
							
								
								
									
										49
									
								
								examples/export/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								examples/export/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
## Setup
 | 
			
		||||
 | 
			
		||||
Install MLX:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
pip install mlx>=0.22
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Build the C++ examples:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
cmake -B build -DCMAKE_BUILD_TYPE=Release
 | 
			
		||||
cmake --build build
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Run
 | 
			
		||||
 | 
			
		||||
### Eval MLP
 | 
			
		||||
 | 
			
		||||
Run the Python script to export the eval function:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
python eval_mlp.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then run the C++ program to import and run the function:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
./build/eval_mlp
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The Python and C++ programs should output the same result.
 | 
			
		||||
 | 
			
		||||
### Train MLP
 | 
			
		||||
 | 
			
		||||
Run the Python script to export the model initialization and training
 | 
			
		||||
functions:
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
python train_mlp.py
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then run the C++ program to import and run the functions:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
./build/train_mlp
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The Python and C++ programs should output the same results.
 | 
			
		||||
		Reference in New Issue
	
	Block a user