Skip to content

MaxusAI/tensorflow-1.15-py3.9-unofficial

Repository files navigation

Unofficial TensorFlow 1.15 for Python 3.8/3.9

Overview

This project provides unofficial builds of TensorFlow v1.15, compiled to work with Python 3.9. We start pr on Ubuntu 16.04 and newer distributions. The goal is to make it easier for users who need to maintain or run legacy projects that depend on TensorFlow 1.15 but wish to use more modern Python versions.

Motivation

Official Google TensorFlow 1.15 distributions do not support Python 3.8 or 3.9. Building TensorFlow from source can be a complex and time-consuming process, especially when targeting specific older versions with newer toolchains. This project aims to alleviate these difficulties by providing pre-compiled packages and/or build scripts.

Some of our clients rely on legacy AI pipelines built on TensorFlow v1.15.5, which is no longer officially maintained but remains critical for backward compatibility. While TensorFlow 1.x officially supports up to Python 3.7 (Google) and 3.8 (NVIDIA), we are providing wheels for TensorFlow 1.15.5 and Python 3.9 to align with client environments that have moved beyond these older Python versions. This ensures continued compatibility without forcing a complete migration to TensorFlow 2.x, striking a balance between modernization and stability.

Acknowledgements

Thanks to NVIDIA for providing a Python 3.8 version of Tensorflow v1.15.5 in their TensorFlow Release 23.03 (https://docs.nvidia.com/deeplearning/frameworks/tensorflow-release-notes/rel-23-03.html#rel-23-03).

Big thank you to the community. Please reach out if I forgot to mention you here and I'll include your project.

Limitations

There is an almost zero chance to compile Tensorflow v1 to Python 3.10. There are too many changes from Python 3.9 to 3.10 AND also increasing Numpy which would need changes in the Tensorflow source files. Time to move to Tensorflow v2.

Features

  • Pre-built .whl files for TensorFlow 1.15 compatible with Python 3.9, Ubuntu 16.04, CUDA 11.3.1, CuDNN 8 and Compute Capability 3.5,3.7,5.0,5.2,6.0,6.1,7.0,7.5,8.0,8.6. (NCCL version is determined by the NVIDIA base images/build process).
  • A comprehensive, Docker-based build system using shell scripts to compile TensorFlow 1.15.x from source. See the build/ directory for detailed instructions.
  • Utility scripts, such as for creating a local Conda development environment.

Supported Configurations

  • TensorFlow Version: 1.15.x (Specify exact patch version if available, e.g., 1.15.5)
  • Python Versions: 3.9
  • Operating Systems: Ubuntu 16.04 and newer. May work on other compatible Linux distributions (user testing and feedback welcome).
  • Architecture: Primarily x86_64.
  • CUDA/GPU Support: (Specify if GPU builds are provided, and if so, for which CUDA/cuDNN versions).

Getting Started / How to Use

Downloading Pre-built Wheels

Pre-built wheels, once generated by the build system, will be placed in the wheels/[CUDA_VERSION]/[OS_VERSION]/ directory (e.g., wheels/11.3.1/ubuntu1604/).

(Instructions on accessing official releases, e.g., via GitHub Releases, will be added here once available.)

Example installation of a locally built wheel:

pip install wheels/11.3.1/ubuntu1604/tensorflow_gpu-1.15.5-cp39-cp39-manylinux_2_17_x86_64.whl # Example filename

Building from Source

This project provides a multi-stage, Dockerized build system managed by shell scripts to compile TensorFlow 1.15.x. This approach ensures a consistent and reproducible build environment.

For detailed build instructions, prerequisites for the build system (Docker, Git, etc.), and an explanation of the build workflow, please refer to the detailed build guide in build/README.md.

The build process will output the compiled .whl files into the wheels/ directory in the project root.

Setting up a Local Conda Development Environment (Optional)

For users who wish to set up a local Conda environment that mirrors some of the dependencies used in the build process (e.g., for development, testing, or running TensorFlow with a Conda-managed CUDA toolkit), a script is provided:

  • Script: scripts/conda_env_install.sh
  • Purpose: Creates a Conda environment with Python 3.9, CUDA toolkit, cuDNN, and other necessary Python dependencies for TensorFlow 1.15.
  • Usage:
    1. Ensure you have Conda (Miniconda3 or Anaconda3) installed.
    2. Modify CONDA_HOME in the script if your Conda installation is not in a standard location or /opt/conda.
    3. Run the script: bash scripts/conda_env_install.sh
    4. Activate the environment as instructed by the script's output.

This environment is separate from the Docker-based build system used to produce the wheels but can be useful for related development tasks.

Prerequisites

For using pre-built wheels:

  • Python 3.9
  • pip
  • A compatible NVIDIA driver if using GPU-enabled wheels.

For building wheels from source (see build/README.md for full details):

  • Docker
  • Git
  • A POSIX-compliant shell (e.g., bash, sh)
  • Sudo privileges (as the build scripts use sudo -E docker ...)

Contributing

Contributions are welcome! Please feel free to submit pull requests, report issues, or suggest improvements.

(Details on contribution guidelines, e.g., coding standards, testing procedures, can be added here.)

License

(Choose an appropriate open-source license, e.g., Apache 2.0, MIT License. TensorFlow itself uses Apache 2.0.) This project is licensed under the [NAME OF LICENSE - e.g., Apache 2.0 License].

Disclaimer

These builds are unofficial and not supported by Google or the TensorFlow team. They are provided "as-is" without any warranty. Use at your own risk. It is always recommended to thoroughly test these builds in your environment before deploying to production.

About

Unofficial repository for Tensorfow v1.15.5 Python3.9 wheels

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors