🌐
Tarayıcıda CNNler
🚀 CNN'leri Tarayıcıya Uygulama İle İlgili Notlar
CNN tabanlı çalışmalarımızı Tarayıcıda uygulamak için Tensorflow.JS kullanmalıyız 🚀

👷‍♀️ İş Akışı

  1. 1.
    🚙 Import Tensorflow.js
  2. 2.
    👷‍♀️ Modeli kur
  3. 3.
    👩‍🏫 Eğit
  4. 4.
    👩‍⚖️ Modeli kullan

🚙 Tensorflow.js' Import Etme

Tensorflow.js'yi aşağıdaki şekilde import edebiliriz
1
<script
2
src="https://cdn.jsdelivr.net/npm/@tensorflow/[email protected]">
3
</script>
Copied!

👷‍♀️ Modeli Kurma

😎 Python'da yaptığımız gibi:
  1. 1.
    🐣 Sequential objesi tanımla
  2. 2.
    👩‍🔧 Katmanları ekle
  3. 3.
    🚀 Modeli derle .compile()
  4. 4.
    👩‍🎓 Eğit (fit)
  5. 5.
    🐥 Modeli tahmin için kullan
1
// create sequential
2
const model = tf.sequential();
3
4
// add layer(s)
5
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
6
7
// set compiling parameters and compile the model
8
model.compile({loss:'meanSquaredError',
9
optimizer:'sgd'});
10
11
// get summary of the mdoel
12
model.summary();
13
14
// create sample data set
15
const xs = tf.tensor2d([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], [6, 1]);
16
const ys = tf.tensor2d([-3.0, -1.0, 2.0, 3.0, 5.0, 7.0], [6, 1]);
17
18
// train
19
doTraining(model).then(() => {
20
// after training
21
predict = model.predict(tf.tensor2d([10], [1,1]));
22
predict.print();
23
});
Copied!
([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], [6, 1])
[-1.0, 0.0, 1.0, 2.0, 3.0, 4.0]: Veri seti değerleri (girişler)
[6, 1]: Girişin boyutu

👁‍🗨 Dikkat

  • 🐢 Eğitim uzun bir süreç olduğundan onu asenkron bir fonksiyonda yapmalıyız
1
async function doTraining(model){
2
const history =
3
await model.fit(xs, ys,
4
{ epochs: 500,
5
callbacks:{
6
onEpochEnd: async(epoch, logs) =>{
7
console.log("Epoch:"
8
+ epoch
9
+ " Loss:"
10
+ logs.loss);
11
12
}
13
}
14
});
15
}
Copied!

👩‍💻 Kodun tamamı

🌞 Yazının Aslı