Recommended Free Tools
To run TensorFlow on an AMD GPU on Ubuntu 24.04, you need AMD’s ROCm-enabled TensorFlow, either as a prebuilt Docker image or as a ROCm-specific pip package. The ordinary pip install tensorflow does not give you AMD GPU acceleration. A successful import is not enough either: the test that matters is whether TensorFlow lists your GPU and runs an operation on it.
Why the standard TensorFlow install does not use an AMD GPU
TensorFlow’s general pip installation guide describes GPU support in terms of CUDA-enabled NVIDIA cards, using the tensorflow[and-cuda] extra. TensorFlow’s own tf.test.is_built_with_rocm API documentation states that the official TensorFlow binary is not built with ROCm support. Installing the CUDA extra on an AMD system does not switch on ROCm.
As an Amazon Associate I earn from qualifying purchases.
For AMD hardware, the authoritative steps come from AMD’s ROCm AI Ecosystem guide, “Install TensorFlow for ROCm,” which was current when checked in early October 2026. That guide documents two routes: a ready-made Docker image and a pip install into a Python virtual environment.
Check compatibility before you install anything
ROCm, TensorFlow, Python, the Ubuntu release and kernel, and your GPU model all have to match. Confirm each item against AMD’s current ROCm compatibility matrix and the TensorFlow install page before you start:
#1 Best Overall
- Axial-tech fans now feature a smaller fan hub that facilitates longer blades and a barrier ring that increases downward air pressure
- 2.5-slot design allows for greater build compatibility while maintaining cooling performance
- 0dB technology lets you enjoy light gaming in relative silence
- Dual BIOS switch lets you toggle between Quiet and Performance BIOS profiles
- Dual ball fan bearings last up to twice as long as sleeve bearing designs
- GPU model: Look up your exact card in AMD’s matrix. The GPU architecture names shown in AMD’s examples (such as
gfx90a,gfx942, andgfx950) are examples of named targets, not a list of every supported Radeon or Instinct card. - Operating system: Ubuntu 24.04 appears in AMD’s compatibility entries for supported ROCm releases. Check the point release and kernel rules listed for your ROCm version, because support is release-specific.
- ROCm version: AMD’s TensorFlow examples use ROCm 10.0.0 for the pip packages and ROCm 7.14.1 for the container tag. Use the pairing that AMD lists for your hardware.
- TensorFlow version: AMD’s current examples cover TensorFlow 2.21, 2.20, and 2.19.1.
- Python version: AMD’s examples use Python 3.12, which is the default on Ubuntu 24.04.
Version names change quickly. Treat these numbers as the examples on AMD’s page as of October 2026, and use the live page for your install.
Option A: AMD’s TensorFlow ROCm container
The container is the most direct route. It packages TensorFlow, Python, and the ROCm libraries together, so you do not have to build a matching host environment for the framework. The image tag encodes the ROCm and framework versions. For example, AMD’s current Ubuntu 24.04 example is rocm/tensorflow:rocm7.14.1-ubuntu24.04-py3.12-tf2.21.
- Confirm that Docker is installed and that your user can run it without
sudo, or prefix the commands withsudo. - Confirm that the host ROCm driver stack can see your GPU. The container uses the host kernel driver, so this must work on the host first.
- Pull the image:
docker pull rocm/tensorflow:rocm7.14.1-ubuntu24.04-py3.12-tf2.21 - Start the container with AMD’s
docker runexample. The essential device flags are--device /dev/kfdand--device /dev/dri. AMD’s example also sets host IPC and network options and adds the container user to the video group. Copy the complete command from AMD’s page rather than building a shorter version. - Inside the container, run the verification steps in the section below.
Pulling the image alone does not expose the GPU. Without the device flags and group access, the container starts but TensorFlow will not see the card.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- Axial-tech fans now feature a smaller fan hub that facilitates longer blades and a barrier ring that increases downward air pressure
- Phase-change GPU thermal pad helps ensure optimal heat transfer, lowering GPU temperatures for enhanced performance and reliability
- 2.5-slot design allows for greater build compatibility while maintaining cooling performance
- Dual-ball fan bearings last up to twice as long as standard conventional sleeve bearings designs
- 0dB technology lets you enjoy light gaming in relative silence
Option B: pip in a Python virtual environment
Use this route when you need a native Python environment, for example to install other packages next to TensorFlow or to run the code outside Docker. AMD’s example uses Python 3.12.
- Confirm that ROCm is installed and working on the host, as AMD’s page requires before the pip install.
- Create and activate a virtual environment:
python3.12 -m venv .venv, thensource .venv/bin/activate. - Install the ROCm-enabled TensorFlow package from AMD’s package index, using the exact command on AMD’s page. The package pins for AMD’s ROCm 10.0.0 examples are
tensorflow-rocm==2.21.0+rocm10.0.0,tensorflow-rocm==2.20.0+rocm10.0.0, andtensorflow-rocm==2.19.1+rocm10.0.0. Copy the index option from AMD’s page; a plainpip install tensorflowwill fetch the wrong build. - Run the verification steps below inside the same activated environment.
Verify that TensorFlow is using your AMD GPU
Start with device visibility. TensorFlow’s documented check is tf.config.list_physical_devices('GPU'). Run it inside the container or the activated virtual environment where you will work:
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
Rank #3
- Powered by Radeon RX 9070 XT
- WINDFORCE Cooling System
- Hawk Fan
- Server-grade Thermal Conductive Gel
- RGB Lighting
A non-empty list confirms that TensorFlow can see a GPU. It does not show that your code runs on the GPU, so follow it with a small placed operation:
import tensorflow as tf
print(tf.config.list_physical_devices('GPU'))
with tf.device('/GPU:0'):
a = tf.random.normal([2000, 2000])
b = tf.random.normal([2000, 2000])
c = tf.matmul(a, b)
print(float(tf.reduce_sum(c)))
This test confirms that the operation completes on the device TensorFlow lists as /GPU:0. It is a functional check, not a benchmark. Use AMD’s page for any additional checks that depend on the packaging you chose.
Troubleshooting: where the failure usually sits
Most failures sit at one of three boundaries. Check them in this order:
Rank #4
- OC mode (GPU Tweak III): up to 3330 MHz (Boost Clock)/up to 2760 MHz (Game Clock) Default mode: up to 3310 MHz (Boost Clock)/up to 2740 MHz (Game Clock)
- 2.5-slot design allows for greater build compatibility while maintaining cooling performance
- Dual-ball fan bearings last up to twice as long as standard conventional sleeve bearings designs
- 0dB technology lets you enjoy light gaming in relative silence
- Dual BIOS switch lets you toggle between Quiet and Performance BIOS profiles
- Host GPU access fails. If the GPU is not usable on the host, TensorFlow cannot use it either. Fix the ROCm driver and GPU setup on the host first, then return to the container or environment steps.
- The container starts but sees no GPU. Check that the run command includes
--device /dev/kfd,--device /dev/dri, and the group access from AMD’s example. A container started from a shortened command is the most common cause. - The pip environment imports TensorFlow but lists no GPU. The package is probably a non-ROCm build or does not match your ROCm version. Recreate the virtual environment with Python 3.12 and install the exact ROCm package and index from AMD’s page. Avoid mixing in system-wide packages from apt.
Also check that your exact GPU model appears in AMD’s compatibility matrix for the ROCm version you installed. An Ubuntu 24.04 system with an unsupported card will fail even when every software version matches.
Choosing between the container and pip routes
| Factor | Docker container (Option A) | Python virtual environment with pip (Option B) |
|---|---|---|
| Setup repeatability | High; the image bundles framework and library versions | Depends on host ROCm and the exact pip command used |
| Matching AMD’s tested tags | Direct; use the image tag from AMD’s page | Direct; use the package pins from AMD’s page |
| Managing a Python environment | Limited to what the image provides | Full control with venv and pip |
| Host GPU access requirements | Device nodes and group access must be passed to the container | Host ROCm must work for the user running Python |
| Pinning versions for a project | Pin by image tag | Pin by package version and Python version |
| Speed or reliability | Not stated in AMD’s installation material | Not stated in AMD’s installation material |
The table lists setup characteristics only. AMD’s installation material does not compare the two routes for speed or reliability, so neither route should be presented as faster.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Practical notes for AMD’s examples
The GPU names and version numbers on AMD’s page describe its examples as of October 2026. Their purpose is to show how the naming works, not to certify every card or release. A future ROCm or TensorFlow release may replace them, so when you install, read the matrix and the install page first and use their current commands.
Quick Recap
“
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




