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.