TensorFlow Kurulumu¶
Bu makalede
TensorFlow, Google tarafından geliştirilen makine öğrenimi ve derin sinir ağı eğitimi için açık kaynaklı bir platformdur. TensorFlow ile Python'da kullanıcı dostu bir API kullanarak karmaşık sinir ağları oluşturabilir, eğitebilir ve kullanabilirsiniz.
Bu platform, doğrusal ve lojistik regresyon gibi geleneksel makine öğrenimi algoritmalarının yanı sıra, konvolüsyonel sinir ağları (Convolutional Neural Networks, CNN) ve yinelemeli sinir ağları (Recurrent Neural Networks, RNN) dahil olmak üzere daha gelişmiş mimarileri de destekler.
Linux'ta TensorFlow Kurulumu¶
Bu talimat aşağıdaki işletim sistemleri için uygundur: Ubuntu 22.04 ve doğrulanmış Python sürümleri: Python 3.10.
Not
GPU hızlandırmayı kullanmayı planlıyorsanız, lütfen bu talimata göre NVIDIA sürücülerini ve CUDA'yı yükleyin.
-
Python'u yükleyin:
Ubuntu 22.04'te bu sürüm varsayılan olarak yüklüdür, bu nedenle daha yeni bir sürüm yüklemenizi önermiyoruz.
-
TensorRT için sistem kütüphanelerinin yüklenmesi:
-
Python için sanal ortam oluşturun:
-
Sanal ortamı etkinleştirin:
Etkinleştirme başarılı olduğunda, komut istemi parantez içinde sanal ortamın adını içerecektir:
Not
İstediğiniz kadar sanal ortam oluşturabilir ve farklı kütüphaneleri (aynı anda dahil olmak üzere, ancak bazen bu çakışmalara neden olabilir) yükleyebilirsiniz.
-
TensorRT için bağlayıcıların yüklenmesi:
Yüklemeyi doğrulamak için konsolda Python'u çalıştırabilir ve aşağıdaki betiği çalıştırabilirsiniz:
Başarılı bir yükleme sonrası çıktı şu şekilde olacaktır:
(tensorflow) user@49069:~/gpu$ python Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tensorrt >>> print(tensorrt.__version__) 10.0.0b6 >>> assert tensorrt.Builder(tensorrt.Logger()) >>> import tensorrt_lean as trt >>> print(trt.__version__) 10.0.0b6 >>> assert trt.Runtime(trt.Logger()) >>> import tensorrt_dispatch as trt >>> print(trt.__version__) 10.0.0b6 >>> assert trt.Runtime(trt.Logger()) >>> -
TensorRT sürüm 8.6.1'in yüklenmesi.
-
GPU desteği ile TensorFlow kütüphanesinin yüklenmesi:
-
Sanal ortamdan çıkın:
-
TensorFlow'u çalıştırmak için bir betik oluşturun:
echo '#!/bin/bash' > tensorflow.sh echo 'source venv/bin/activate' >> tensorflow.sh echo 'export CUDNN_PATH=$(dirname $(python -c "import nvidia.cudnn;print(nvidia.cudnn.__file__)"))' >> tensorflow.sh echo 'export LD_LIBRARY_PATH=$CUDNN_PATH/lib:/usr/local/cuda/lib64' >> tensorflow.sh echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/TensorRT-8.6.1.6/lib' >> tensorflow.sh chmod +x tensorflow.sh
TensorFlow'u Çalıştırma¶
Ana dizininizin kök dizininden belirtilen kütüphane değişkenleriyle sanal ortamda TensorFlow'u çalıştırmak için şu komutu kullanın:
TensorFlow Kurulumunu Doğrulama¶
Kütüphanenin işlevselliğini ve GPU desteğini doğrulamak için konsolda aşağıdaki Python programını başlatın:
import tensorflow as tf
print(tf.reduce_sum(tf.random.normal([1000, 1000])))
print(tf.config.list_physical_devices('GPU'))
Başarılı bir yükleme sonrası, GPU kullanımınızı gösteren buna benzer bir çıktı alacaksınız.
(venv) user1@49069:~$ python
Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
nt(tf.config.list_physical_devices('GPU'))
2024-04-22 23:39:54.472502: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
>>> print(tf.reduce_sum(tf.random.normal([1000, 1000])))
2024-04-22 23:39:55.810888: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1928] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 22282 MB memory: -> device: 0, name: NVIDIA GeForce RTX 4090, pci bus id: 0000:07:00.0, compute capability: 8.9
tf.Tensor(332.5041, shape=(), dtype=float32)
>>> print(tf.config.list_physical_devices('GPU'))
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
>>>
Ayrıca, bu GitHub deposundan sinir ağı eğitimi için test Python betiğini 2c_nn_mnist_customtrain.py indirip çalıştırabilirsiniz.
Çalışması tamamlandığında, buna benzer bir çıktı almalısınız:
(venv) user1@49069:~$ python ./2c_nn_mnist_customtrain.py
2024-04-23 10:35:25.832754: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-04-23 10:35:28.404381: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1928] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 22282 MB memory: -> device: 0, name: NVIDIA GeForce RTX 4090, pci bus id: 0000:07:00.0, compute capability: 8.9
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1713861338.172126 21279 service.cc:145] XLA service 0x7f36a3bd2ec0 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
I0000 00:00:1713861338.172187 21279 service.cc:153] StreamExecutor device (0): NVIDIA GeForce RTX 4090, Compute Capability 8.9
2024-04-23 10:35:38.180648: I tensorflow/compiler/mlir/tensorflow/utils/dump_mlir_util.cc:268] disabling MLIR crash reproducer, set env var `MLIR_CRASH_REPRODUCER_DIRECTORY` to enable.
2024-04-23 10:35:38.207205: I external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:465] Loaded cuDNN version 8902
I0000 00:00:1713861338.355523 21279 device_compiler.h:188] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.
1874/1875 |||||||||||||||||||||||||||||||| acc: 0.9022 time: 14.9 test-acc: 0.932 (error: 6.75%)
1874/1875 |||||||||||||||||||||||||||||||| acc: 0.9474 time: 4.74 test-acc: 0.953 (error: 4.71%)
1874/1875 |||||||||||||||||||||||||||||||| acc: 0.9628 time: 4.83 test-acc: 0.963 (error: 3.67%)
1874/1875 |||||||||||||||||||||||||||||||| acc: 0.9734 time: 4.86 test-acc: 0.968 (error: 3.25%)
1874/1875 |||||||||||||||||||||||||||||||| acc: 0.9798 time: 4.9 test-acc: 0.97 (error: 3.04%)