Erjia Guan is a software engineer based in New York with five years of experience building reliable, production-grade systems at Meta and earlier AI-focused startups. He contributes to core PyTorch projects—helping improve DataLoader, distributed shuffling, and torchdata datapipes—bringing practical expertise in back-end development, MLOps, and DevOps workflows like CI/release automation. His work emphasizes robustness in distributed data loading, deterministic behavior across processes, and improved testing and serialization, reflecting a strong focus on code quality and reproducibility. A CMU-trained engineer with a B.E. from Tianjin University, he blends academic grounding with hands-on open-source impact on one of the most widely used deep learning frameworks.
5 years of coding experience
3 years of employment as a software developer
Bachelor of Engineering (B.E.), Bachelor of Engineering (B.E.) at Tianjin University
Master's degree, AIS, Master's degree, AIS at Carnegie Mellon University
A PyTorch repo for data loading and utilities to be shared by the PyTorch domain libraries.
Role in this project:
Back-end Developer & DevOps Engineer
Contributions:6 releases, 998 reviews, 357 commits in 1 year 11 months
Contributions summary:Erjia primarily contributed to the development of data loading and utility features for PyTorch, evidenced by code changes in `torchdata/datapipes` and examples. They also focused on improvements in testing and configuration, particularly related to flake8 and code style, which suggests a focus on code quality. Additionally, the user implemented the continuous integration (CI) matrix and release workflow, showing involvement in DevOps and build processes.
Tensors and Dynamic neural networks in Python with strong GPU acceleration
Role in this project:
Back-end Developer & MLOps Engineer
Contributions:839 reviews, 264 commits, 202 PRs in 2 years 2 months
Contributions summary:Erjia primarily focused on improving the `DataLoader` component of PyTorch, specifically addressing issues related to distributed and persistent data loading. They implemented deterministic behavior for `ShufflerDataPipe` in distributed environments, ensuring consistent shuffling across processes. Furthermore, the user made improvements to the sharing of the random seed via process group and ensured that the `DataLoader` code base could deal with the custom sharding data pipes. They also worked on resolving bugs related to multi-processing and serialization, and improved error handling for distributed seed sharing to enhance the reliability of the data loading process.
pythongpu-accelerationdeep-learninggpunumpy
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.