付録B挑戦課題の解答

2章 TensorFlow.js

MobileNetモデルはあらゆる種類の異なるトラックを検出できます。識別可能なトラックの一覧をすべて確認してこの問題の解答としてもいいですし、単純に得られたクラス名のリストのそれぞれに「truck」という単語が含まれるかどうかを確認してもかまいません。ここではより簡単な後者の解答を紹介します。

HTMLとJavaScriptの全体を含む解答は以下のようになります。

<!DOCTYPE html>
<html>
  <head>
    <script
      src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.7.0/dist/tf.min.js">
    </script>
    <script
      src="https://cdn.jsdelivr.net/npm/@tensorflow-models/mobilenet@1.0.0">
    </script> 
    <script>
      mobilenet.load().then(model => {
        const img = document.getElementById('myImage'); 
        // 画像を分類
        model.classify(img).then(predictions => {
          console.log('Predictions: ', predictions);
          // トラックだったかどうか?
          let foundATruck
          predictions.forEach(p => {
            foundATruck = foundATruck || p.className.includes("truck") 
          })
          // ダイアログに「TRUCK ...

Get 初めてのTensorFlow.js ―JavaScriptで学ぶ機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.