Artefacts
Creators: name: Parida, Shreyas Kumar
Publisher: name: figshare
Year: 2025
Subjects: classificationCode: 461199
subject: Machine learning not elsewhere classified
classificationCode: 461202
subject: Empirical software engineering

description: Machine learning (ML) models are increasingly integrated into ML-enabled systems, requiring careful selection of an appropriate model export format. A suboptimal choice can increase dependencies and maintenance costs, yet little guidance exists for practitioners. We evaluated five popular formats—ONNX, Pickle, TensorFlow’s SavedModel, TorchScript, and Joblib—across two ML systems in three tech stacks (30 cases). Results showed ONNX offered the best integration flexibility and portability, while SavedModel and TorchScript worked well in Python-based systems but needed workarounds elsewhere. Pickle and Joblib were the hardest to integrate. All formats had strong community support and documentation. These findings can help practitioners choose suitable formats.<b>Artefacts Description</b>READ_ME.txtMLModels FolderContains Python scripts for different ML model export formats used in number prediction and sentiment analysis.`jobnumpred.py`: Number prediction using joblib format.`jobsentiment.py`: Sentiment analysis using joblib format.`onnxnumpred.py`: Number prediction using ONNX format.`onnxsentiment.py`: Sentiment analysis using ONNX format.`pklnumpred.py`: Number prediction using pickle format.`pklsentiment.py`: Sentiment analysis using pickle format.`ptnumpred.py`: Number prediction using PyTorch format.`ptsentiment.py`: Sentiment analysis using PyTorch format.`tfnumpred.py`: Number prediction using TensorFlow format.`tfsentiment.py`: Sentiment analysis using TensorFlow format.`tfsentimentjs.py`: Sentiment analysis using TensorFlow.js format.3. Field Report.pdfA comprehensive evaluation of various model export formats and their impact on ML-enabled systems' development and operational efficiency.4. Number_predictor.zipContains folders for different instances of the Number Predictor ML-enabled system. Each folder corresponds to an ML-enabled system instance developed using a variation of the web-app framework and model export format.`flaskjoblib`: Using Flask with joblib format.`flaskonnx`: Using Flask with ONNX format.`flaskpickle`: Using Flask with pickle format.`flaskpt`: Using Flask with PyTorch format.`flasktf`: Using Flask with TensorFlow format.`nextjsjoblib`: Using Next.js with joblib format.`nextjsonnx`: Using Next.js with ONNX format.`nextjspickle`: Using Next.js with pickle format.`nextjspt`: Using Next.js with PyTorch format.`nextjstf`: Using Next.js with TensorFlow format.`nodejsjoblib`: Using Node.js with joblib format.`nodejsonnx`: Using Node.js with ONNX format.`nodejspickle`: Using Node.js with pickle format.`nodejspt`: Using Node.js with PyTorch format.`nodejstf`: Using Node.js with TensorFlow format.5. Sentiment_analysis.zipContains folders for different instances of the Sentiment Analysis ML-enabled system. Each folder corresponds to an ML-enabled system instance developed using a variation of the web-app framework and model export format.`flaskjoblib`: Using Flask with joblib format.`flaskonnx`: Using Flask with ONNX format.`flaskpickle`: Using Flask with pickle format.`flaskpt`: Using Flask with PyTorch format.`flasktf`: Using Flask with TensorFlow format.`nextjsjoblib`: Using Next.js with joblib format.`nextjsonnx`: Using Next.js with ONNX format.`nextjspickle`: Using Next.js with pickle format.`nextjspt`: Using Next.js with PyTorch format.`nextjstf`: Using Next.js with TensorFlow format.`nodejsjoblib`: Using Node.js with joblib format.`nodejsonnx`: Using Node.js with ONNX format.`nodejspickle`: Using Node.js with pickle format.`nodejspt`: Using Node.js with PyTorch format.`nodejstf`: Using Node.js with TensorFlow format.6. Useful Links.pdfContains links to the technical support for each model export format.