---
title: "TensorFlow 2.12 GPU 최적화를 위한 Miniconda 환경 설정 가이드"
description: "Miniconda를 설치하고 새로운 conda 환경을 만들어 TensorFlow 2.12를 설치하는 방법을 설명합니다. GPU 설정을 선택적으로 진행하며, 설치 후 CPU와 GPU에서 TensorFlow가 정상 작동하는지 확인하는 방법도 포함되어 있습니다. Ubuntu 22.04에서 발생할 수 있는 오류와 그 해결 방법도 안내합니다."
date: "2024-10-08"
last_modified: "2026-05-15T08:36:00.000Z"
type: "Post"
tags:
  - "tensorflow"
  - "conda"
  - "gpu"
  - "ubuntu"
  - "troubleshooting"
  - "python"
  - "install"
categories:
  - "📗 Docs"
canonical_url: "https://blog.pieroot.xyz/tf-gpu-miniconda"
markdown_url: "https://blog.pieroot.xyz/tf-gpu-miniconda.md"
---

# TensorFlow 2.12 GPU 최적화를 위한 Miniconda 환경 설정 가이드

Miniconda를 설치하고 새로운 conda 환경을 만들어 TensorFlow 2.12를 설치하는 방법을 설명합니다. GPU 설정을 선택적으로 진행하며, 설치 후 CPU와 GPU에서 TensorFlow가 정상 작동하는지 확인하는 방법도 포함되어 있습니다. Ubuntu 22.04에서 발생할 수 있는 오류와 그 해결 방법도 안내합니다.

## tensorflow 설정

---

[pip로 TensorFlow 설치](https://www.tensorflow.org/install/pip?hl=ko#linux)

> tensorflow 2.12 / cudnn 8.6 / cuda-toolkit 11.8 / 기준으로 작성되었습니다

1. Miniconda 설치

1. 콘다 환경 만들기

1. (선택) GPU 설정

1. TensorFlow 설치

1. 설치 확인

#### 1. Miniconda 설치

우선 miniconda 를 각 계정별로 설치해주어야 한다

```shell
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -o Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
```

`conda` 명령을 활성화하려면 터미널 또는 `source ~/.bashrc` 를 다시 시작해야 할 수 있다 `conda -V` 를 사용하여 성공적으로 설치되었는지 테스트한다

#### 2. 콘다 환경 만들기

다음 명령을 사용하여 [`tf`](https://www.tensorflow.org/api_docs/python/tf?hl=ko) 라는 이름의 `python` 3.9 버전의 새 conda 환경을 만든다

```shell
conda create --name tf python=3.9
```

> 기존에는 tensorrt 의 지원 문제와 가상 환경 별 설정이 복잡해 구버전으로 하였으나 이제는 비교적 최신버전으로 작성하여도 괜찮아졌다

다음 명령을 사용하여 비활성화 및 활성화할 수 있다

```shell
conda deactivate
conda activate tf
```

이 이후 명령은 모두 conda 환경 안에서 실행을 전제로 설명한다.

#### 3. (선택) GPU 설정

TensorFlow를 CPU에서만 실행하는 경우 이번 순서를 건너뛰어도 된다

드라이버가 없는 경우 먼저 [NVIDIA GPU 드라이버](https://www.nvidia.com/Download/index.aspx) 를 설치한다. 다음 명령을 사용하여 설치되었는지 확인할 수 있다

```shell
nvidia-smi
```

그런 다음 conda와 함께 CUDA 및 cuDNN을 설치한다

```shell
conda install -c conda-forge cudatoolkit=11.8.0
pip install nvidia-cudnn-cu11==8.6.0.163
```

시스템 경로를 구성한다. conda 환경을 활성화한 후 새 터미널을 시작할 때마다 다음 명령으로 수행할 수 있다

```shell
CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib
```

하지만 매번 저 명령어를 실행할 수도 없고, 다른 환경에서도 실행되면 안되기에 `.bashrc` 에 등록할 수도 없다.
이 conda 환경을 활성화하면 시스템 경로가 자동으로 구성되도록 하기위해 가상황경 안의 환경 변수를 자동으로 등록해줄것이다.

```shell
mkdir -p $CONDA_PREFIX/etc/conda/activate.d

echo 'CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/:$CUDNN_PATH/lib' >> $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
```

#### 4. TensorFlow 설치

TensorFlow에는 최신 버전의 pip가 필요하므로 pip 설치를 업그레이드한다

```shell
pip install --upgrade pip
```

그런 다음 pip로 TensorFlow를 설치합니다.

**참고:** conda에서 tensorflow 를 설치하면 의존성 문제는 해결이 될 수 있지만, pypi 에서만 업데이트가 되기 때문에 최신버전 설치를 위해서는 pip 로 설치하는게 더 좋다

```shell
pip install tensorflow==2.12.*
conda install tensorflow=2.12
```

#### 4-1. TensorRT 설치

TensorRT의 경우 cuda 라이브러리를 지원하는 그래픽카드의 가속화 기능을 사용하여 기존의 방식보다 더 효율적으로 동작하는 라이브러리다. 

```shell
차후 추가 하겠습니다
```

#### 5. 설치 확인

CPU 설정 확인:

```shell
python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
```

Tensor가 반환되면 TensorFlow를 성공적으로 설치한 것으로 볼 수 있다

GPU 설정 확인:

```shell
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
```

GPU 장치 목록이 반환되면 TensorFlow를 성공적으로 설치한 것으로 볼 수 있다

### 트러블 슈팅 - 우분투 22.04

Ubuntu 22.04에서 다음 오류가 발생할 수 있다

```
Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice.
...
Couldn't invoke ptxas --version
...
InternalError: libdevice not found at ./libdevice.10.bc [Op:__some_op]
```

고 레퍼런스에서는 그렇게 나오는데 본인은 그냥 tensorrt 문제와 gpu 가 안잡히는 문제가 발생했다

레퍼런스의 오류와 gpu 가 안잡히는 문제를 수정하려면 다음 명령을 실행해야 한다

```shell
# Configure the XLA cuda directory
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
printf 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib/\nexport XLA_FLAGS=--xla_gpu_cuda_data_dir=$CONDA_PREFIX/lib/\n' > $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
source $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
# Copy libdevice file to the required path
mkdir -p $CONDA_PREFIX/lib/nvvm/libdevice
cp $CONDA_PREFIX/lib/libdevice.10.bc $CONDA_PREFIX/lib/nvvm/libdevice/
```

위의 명령어를 실행하면 gpu 는 정상적으로 잡힌다
