TensorFlow ile Programlama Dillerinin Entegrasyonu

TensorFlow ile Programlama Dillerinin Entegrasyonu

TensorFlow kütüphanesi ile diğer dillerin entegrasyonu için aşağıda iki adet kod örneği verdik. İlk örnek Flutter yapılan bir uygulama:

Bu örnekte, Flutter ile bir görüntü sınıflandırma uygulaması yapacağız. TensorFlow Lite'i kullanarak önceden eğitilmiş bir modeli Flutter uygulamasına entegre edeceğiz.


TensorFlow Lite Modelini Seçmek
Öncelikle, TensorFlow Lite'ta kullanmak üzere bir görüntü sınıflandırma modeli seçmelisiniz. TensorFlow Lite Model Deposu'nda birçok örnek model bulunmaktadır. Örneğin, MobileNetV2 modelini seçebilirsiniz.

Flutter projenize TensorFlow Lite eklentisini eklemelisiniz. Bu eklenti, TensorFlow Lite modellerini Flutter uygulamasına entegre etmenizi sağlar.
pubspec.yaml dosyasına aşağıdaki bağımlılığı ekleyin:

dependencies:
  flutter:
    sdk: flutter
  tflite: ^latest_version # TensorFlow Lite eklentisi

TensorFlow Lite Modelini Ekleyin
Önceden seçtiğiniz TensorFlow Lite modelini Flutter projesine ekleyin. Model dosyasını assets klasörüne kopyalayın. Örneğin, assets klasörüne mobilenet_v2.tflite adında bir model dosyası eklediğinizi varsayalım.

import 'package:flutter/material.dart';
import 'package:tflite/tflite.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<dynamic> _outputs = [];
  bool _isLoading = false;

  @override
  void initState() {
    super.initState();
    _loadModel();
  }

  Future<void> _loadModel() async {
    setState(() {
      _isLoading = true;
    });
    await Tflite.loadModel(
      model: 'assets/mobilenet_v2.tflite',
      labels: 'assets/labels.txt',
    );
    setState(() {
      _isLoading = false;
    });
  }

  Future<void> _classifyImage(String imagePath) async {
    final List<dynamic> results = await Tflite.runModelOnImage(
      path: imagePath,
    );
    setState(() {
      _outputs = results;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Görüntü Sınıflandırma Uygulaması'),
        ),
        body: _isLoading
            ? CircularProgressIndicator()
            : Column(
                children: [
                  ElevatedButton(
                    onPressed: () async {
                      // Görüntüyü sınıflandır
                      await _classifyImage('assets/test_image.jpg');
                    },
                    child: Text('Görüntüyü Sınıflandır'),
                  ),
                  if (_outputs.isNotEmpty)
                    Text('Sonuç: ${_outputs[0]['label']}'),
                ],
              ),
      ),
    );
  }

  @override
  void dispose() {
    Tflite.close();
    super.dispose();
  }
}

Bu Flutter uygulaması, bir görüntüyü sınıflandırmak için TensorFlow Lite modelini kullanır. Kullanıcı bir düğmeye tıkladığında, uygulama önceden belirlenmiş bir görüntüyü sınıflandırır ve sonucu ekranda gösterir. 

 

Java Script ve TensorFlow kütüphanesi kullanımı

JavaScript kullanarak TensorFlow.js kütüphanesiyle bir örnek uygulama oluşturabiliriz. TensorFlow.js, TensorFlow'un JavaScript sürümüdür ve web tarayıcılarında ve Node.js ortamında makine öğrenimi modellerini çalıştırmak için kullanılır. İşte basit bir TensorFlow.js örnek uygulama:

Adım 1: TensorFlow.js Eklentilerini Ekleyin

İlk adım, TensorFlow.js kütüphanelerini projenize eklemektir. Bu, TensorFlow.js'i kullanmanızı sağlayacaktır. Bir HTML dosyasına aşağıdaki kodları ekleyerek başlayabilirsiniz:

 

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>TensorFlow.js Örnek Uygulama</title>

</head>

<body>

<h1>TensorFlow.js Örnek Uygulama</h1>

 

<!-- TensorFlow.js kütüphaneleri -->

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

</body>

</html>

 

 

Aşağıdaki JavaScript kodu, TensorFlow.js kullanarak basit bir örnek uygulama oluşturur. Bu örnekte, TensorFlow.js ile eğitilmemiş rastgele bir sinir ağı oluşturulur ve bu ağa basit bir veri noktası verilir.

 

// TensorFlow.js kütüphanesini içe aktar

const tf = require('@tensorflow/tfjs');

 

// Modeli oluştur

const model = tf.sequential();

model.add(tf.layers.dense({units: 1, inputShape: [1]}));

 

// Modeli derle

model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

 

// Eğitim verilerini oluştur

const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);

const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

 

// Modeli eğit

model.fit(xs, ys, {epochs: 100}).then(() => {

// Tahmin yap

const result = model.predict(tf.tensor2d([5], [1, 1]));

result.print();

});

 

Bu kod, basit bir regresyon modeli oluşturur. Veri noktaları xs ve ys kullanılarak model eğitilir ve eğitildikten sonra 5 değerini tahmin eder. Tahmin sonucunu konsola basar.

 

HTML ile Entegrasyon

Bu JavaScript kodunu yukarıdaki HTML dosyanıza ekleyebilirsiniz. Bu şekilde, tarayıcınızda çalışan bir TensorFlow.js uygulaması oluşturmuş olursunuz. TensorFlow.js, web geliştiricilerine tarayıcıda makine öğrenimi uygulamaları geliştirmek için güçlü bir araç sunar.

Bu örnek, TensorFlow.js kullanarak bir sinir ağı oluşturmayı ve eğitmeyi gösterir. Gerçek dünya uygulamaları çok daha karmaşık olabilir ve daha fazla veri ve daha büyük modeller gerektirebilir. Ancak bu temel örnek, TensorFlow.js'in temel kullanımını anlamanıza yardımcı olacaktır.