Tensorflow 1.15 CUDA cuDNN installation using Conda
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.
Introduction
TensorFlow 1.15 is old enough that installation problems are usually compatibility problems, not Conda problems. The key is to match a Python version and GPU runtime that TensorFlow 1.15 actually supports, then keep everything isolated inside one Conda environment.
For the classic GPU setup, the safest target is usually Python 3.7, cudatoolkit=10.0, and cudnn=7.6, with the TensorFlow 1.15 GPU package installed into that environment. Newer NVIDIA drivers are fine as long as they are compatible with the CUDA 10 runtime.
Build a Clean Conda Environment First
Start from a fresh environment so older TensorFlow, CUDA, or NumPy packages do not leak in:
Using a dedicated environment matters because TensorFlow 1.15 often conflicts with modern package stacks. Trying to drop it into an existing machine-learning environment usually creates hard-to-debug library mismatches.
Install CUDA and cuDNN Through Conda
For a Conda-based install, you normally do not need the full standalone CUDA toolkit installed system-wide. You do still need a working NVIDIA driver on the machine, but Conda can provide the CUDA runtime libraries used by TensorFlow.
Install the historical versions that match the TensorFlow 1.15 GPU line:
This is the most important step. If you install a newer CUDA runtime such as 11.x into the environment and expect TensorFlow 1.15 to use it, import failures are very common.
Install TensorFlow 1.15
Now install the TensorFlow package itself:
If you specifically need plain 1.15.0 rather than the last 1.15.x patch release, change the version accordingly. In most cases, 1.15.5 is the better choice because it stays on the same compatibility line while picking up the later patch fixes.
At this point, the environment usually contains everything TensorFlow needs except the host NVIDIA driver.
Verify the Installation
Test that TensorFlow imports correctly and can see the GPU:
A successful result should show version 1.15.x and report a GPU as available. If the import works but GPU detection is false, the usual causes are:
- unsupported CUDA or cuDNN version in the Conda environment
- NVIDIA driver missing or too old
- another library path overriding the Conda runtime
A Minimal End-to-End Recipe
A compact working sequence looks like this:
That is the setup many legacy training pipelines still expect.
Conda Versus System CUDA
One confusing point is whether you need /usr/local/cuda or a full CUDA toolkit installer from NVIDIA. With a Conda-driven TensorFlow 1.15 environment, the answer is usually no. Conda supplies the runtime libraries, and the host machine only needs the NVIDIA driver.
Problems appear when people mix approaches. For example, a system-wide CUDA 11 install can end up on the library path while TensorFlow 1.15 is expecting CUDA 10.0 from the Conda environment. When that happens, import errors and missing-symbol messages become likely.
If you must use system CUDA for some reason, be very deliberate about library paths.
Common Pitfalls
The biggest pitfall is using an unsupported Python version. TensorFlow 1.15 is from an older Python ecosystem, so a modern default like Python 3.11 is not going to work.
Another common issue is installing the wrong CUDA line. TensorFlow 1.15 is tied to the older CUDA 10.0 and cuDNN 7.x generation, not the modern 11.x or 12.x stack.
People also mix Conda-provided GPU libraries with system-wide CUDA libraries and end up loading the wrong .so or .dll files at runtime.
Finally, do not forget the host driver. Conda can provide cudatoolkit and cudnn, but it cannot replace the NVIDIA driver that actually talks to the hardware.
Summary
- TensorFlow 1.15 works best in a dedicated Conda environment with older compatible dependencies.
- A common working combination is Python
3.7,cudatoolkit=10.0, andcudnn=7.6. - Use
tensorflow-gpu==1.15.5unless you have a strict reason to pin exactly1.15.0. - Conda usually removes the need for a full system CUDA toolkit install, but you still need a valid NVIDIA driver.
- Most failures come from mismatched Python, CUDA, cuDNN, or mixed system-versus-Conda library paths.
Related reading
- Tensorflow 1.8.0 Wide and Deep Model results are not stable. Random seed is not working
- tensorflow 2.0 An op outside of the function building code is being passed
- Tensorflow 2.0 Custom loss function with multiple inputs
- Tensorflow 2.0 doesn't compute the gradient
- Tensorflow 2.0.0-alpha0 tf.logging.set_verbosity
- Tensorflow 2.0 - AttributeError module 'tensorflow' has no attribute 'Session
- Tensorflow 2.0 - AttributeError module 'tensorflow' has no attribute 'Session
- Tensorflow 2.0 Optimizer.minimize 'Adam' object has no attribute 'minimize
.png&w=3840&q=75)
Tackling System Design Interview Problems
A short course that equips you with the skills to approach system design interviews methodically.
Start the free courseTrack what you have practised
A free account saves your progress, solutions and study plan across every problem on Codemia.
ML System Design practice on Codemia
Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.