PYTORCH C++ İLE DERİN ÖĞRENME -1: Proje Oluşturma

Herkese merhabalar. Yeni bir seriye başlıyoruz Pytorch C++ ile derin öğrenme. Bu serimizde derin öğrenme algoritmalarını detaylı bir şekilde işleyip Pytorch C++ ortamında kodlayacagız.

Bu seride, derin öğrenme konusunu yazılımsal olarak daha detaylı bir şekilde anlamak amaçlanmaktadır. Ayrıca nesneye yönelik programlama yaklaşımı kullanılacaktır. Bu durumda sınıf ve metotlar oluşturacağız.

Serinin ilerleyen bölümlerinde derin öğrenme algoritmaları kullanılarak sınıflandırma, nesne tespit etme, tahmin vb. uygulamalar yapılacaktır. Serinin bu bölümünde proje oluşturmak için kullanılacak programların kurulması ve proje oluşturma şablonu anlatılacaktır.

Bu serinin hem eğitici hem de rehber olmasından dolayı alt içerik sayısı fazla olacaktır.

Bu seriye başlamadan önce Ubuntu 18.04 LTS işletim sisteminin kurulu olması, NVIDIA ekran kartınızın olması gerekmektedir. Derin öğrenme algoritmalarını CUDA ve CUDNN programları kullanılarak yapılacaktır. Program veya işletim sistemi yükleme konusunda birçok video ve yazı bulunmasından dolayı kurulumlar anlatılmayacaktır. Kurulum için ilgili sitelere yönlendirileceksiniz.

LINUX kurulumu için;

https://ubuntu.com/tutorials/tutorial-install-ubuntu-desktop#1-overview

CUDA kurulumu için;

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

CUDNN kurulumu için;

https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html

Pytorch C++ kurulumu için;

https://pytorch.org/cppdocs/installing.html

Kod geliştirmek için IDE olarak Qt Creator IDLE kullanılacacaktır. Kodları derlemek için ise CMake programı kullanılacaktır. Kurlum için;

https://www.veribilimiokulu.com/wp-admin/post.php?post=14455&action=edit

Kurulum aşamasından sonra kodları yazıp derleyebiliriz.

Proje için CMakeLists.txt dosyası ve C++ uzantılı dosya oluşturmamız gerekmektedir.

CMakeLists.txt ve Pytorch_giris.cpp Dosyası Oluşturmak

ilk önce proje klasörü oluşturuyoruz.

$ mkdir Pytorch_giris

mkdir komutu ile klasör oluşturuldu.

$ cd Pytorch_giris/

Komut ile klasörün içerisine giriyoruz.

$ touch CMakeLists.txt

Komut ile CMakeLists.txt dosyası oluşturuldu.

$ touch Pytorch_giris.cpp

Komut ile Pytorch_giris.cpp dosyası oluşturuldu.

CMakeLists.txt Dosyasına Eklenecekler

CMakeLists.txt dosyasının içerisine giriyoruz.

cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
project(Pytorch_giris)

find_package(Torch REQUIRED)

add_executable(pytorch Pytorch_giris.cpp)
target_link_libraries(Pytorch_giris "${TORCH_LIBRARIES}")
set_property(TARGET Pytorch_giris PROPERTY CXX_STANDARD 14)

Yazıları CMakeLists.txt dosyasına ekliyoruz ve kaydediyoruz.

CMakeList.txt dosyasını her projede oluşturmamız ve açtığımız her projede küçük değişikler yapmamız gerekmektedir.

Dosyanın içerisinde bulunan Pytorch_giris.cpp uzantılı kısma proje için oluştulan .cpp dosyasının adı yazılmalı ve Pytorch_giris kısmı yerine projenizin ismi yazılmalıdır. Bu dosyayı küçük değişiklikler ile projelerinizde kullanabilirsiniz.

Pytorch_giris.cpp Dosyasına Eklenecekler

QtCreator programı ile Pytorch_giris.cpp dosyamızı açıyoruz.

#include <torch/torch.h>
#include <iostream>

int main() {
  torch::Tensor tensor = torch::eye(3);
  std::cout << tensor << std::endl;
}

Kodları Pytorch_giris.cpp dosyamıza ekliyoruz. QtCreator programını derlemek değil kodları yazmak için kullanıyoruz. Bu yüzden dosyalarımızı kaydedip QtCreator’ ı kapatıyoruz.

Kodları Derlemek ve Çalıştırmak

Derleme yapmak için proje klasörünün içerisine build klasörü oluşturup dizin içerisine gireceğiz.

$ mkdir build

Komut ile build klasörü oluşturuldu.

$ cd build

Komut ile build klasörüne girildi.

$ cmake .. && make

Komut ile derleme işlemini yapıyoruz.

Derleme işlemini bitirdik. Herşey doğru çalıştı ise projeyi çalıştırıyoruz.

$ ./Pytorch_giris

komutunu çalıştırarak program çıktısı alınmaktadır.

Şekil 1: Program çıktısı

Böylelikle Pytorch C++ kütüphanesini kullanarak derin öğrenme için ilk adımı atmış olduk.

Bu bölümde QtCreator, CMake programlarının kurulumunu anlattık ve Pytorch C++ ile derin öğrenme projesi oluşturma, derleme ve çalıştırma işlemleri yapıldı.

Proje dosyasına,

https://github.com/enesdoruk/Pytorch-C-Deep-Learning

github hesabımdan ulaşabilirsiniz.

Görüşmek dileğiyle.

Kaynakça

Yazar Hakkında
Toplam 14 yazı
Abdullah Enes Doruk
Abdullah Enes Doruk
Bursa Teknik Üniversitesi Elektrik Elektronik Mühendisliği Bölümü öğrencisi. İlgilendiği alanlar; Görüntü işleme, Sürücüsüz Araçlar, Derin Öğrenme. Abdullah Enes Doruk
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara