Studying the Impact of TensorFlow and PyTorch Bindings on Machine Learning Software Quality
arXiv:2407.05466 · doi:10.1145/3678168
Abstract
Bindings for machine learning frameworks (such as TensorFlow and PyTorch) allow developers to integrate a framework's functionality using a programming language different from the framework's default language (usually Python). In this paper, we study the impact of using TensorFlow and PyTorch bindings in C#, Rust, Python and JavaScript on the software quality in terms of correctness (training and test accuracy) and time cost (training and inference time) when training and performing inference on five widely used deep learning models. Our experiments show that a model can be trained in one binding and used for inference in another binding for the same framework without losing accuracy. Our study is the first to show that using a non-default binding can help improve machine learning software quality from the time cost perspective compared to the default Python binding while still achieving the same level of correctness.
References in corpus (7)
- Llama 2: Open Foundation and Fine-Tuned Chat Models
- Gesture Recognition in Robotic Surgery: a Review
- A Comparative Study of Programming Languages in Rosetta Code
- Distributed CNN Inference on Resource-Constrained UAVs for Surveillance Systems: Design and Optimization
- Towards Training Reproducible Deep Learning Models
- Comparison and Benchmarking of AI Models and Frameworks on Mobile Devices
- Deep Sequence Models for Text Classification Tasks