目次
データのロード" >データのロード
データの前処理" >データの前処理
##モデルの構築" >##モデルの構築
トレーニング モデル" >トレーニング モデル
トレーニングが完了すると、モデルはテスト セットで評価されます。新しいデータでどのように動作するかを確認してください。 " >#モデルの評価トレーニングが完了すると、モデルはテスト セットで評価されます。新しいデータでどのように動作するかを確認してください。
最後に、この記事では、モデルを使用してテスト セット内のいくつかのサンプル画像を予測し、結果を表示します。 " >予測最後に、この記事では、モデルを使用してテスト セット内のいくつかのサンプル画像を予測し、結果を表示します。
ホームページ テクノロジー周辺機器 AI TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

May 16, 2023 am 09:34 AM
ディープラーニング tensorflow keras

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

この記事では、TensorFlow と Keras を使用して、猫と犬の画像を区別できる画像分類器を作成します。これを行うには、TensorFlow データセットの cat_vs_dogs データセットを使用します。データセットは 25,000 枚の猫と犬のラベル付き画像で構成されており、そのうち 80% がトレーニングに、10% が検証に、10% がテストに使用されます。

データのロード

TensorFlow データセットを使用してデータセットをロードすることから始めます。データ セットをトレーニング セット、検証セット、テスト セットに分割し、それぞれデータの 80%、10%、10% を占め、データ セット内のいくつかのサンプル画像を表示する関数を定義します。

<code>import tensorflow as tfimport matplotlib.pyplot as pltimport tensorflow_datasets as tfds# 加载数据(train_data, validation_data, test_data), info = tfds.load('cats_vs_dogs', split=['train[:80%]', 'train[80%:90%]', 'train[90%:]'], with_info=True, as_supervised=True)# 获取图像的标签label_names = info.features['label'].names# 定义一个函数来显示一些样本图像plt.figure(figsize=(10, 10))for i, (image, label) in enumerate(train_data.take(9)):ax = plt.subplot(3, 3, i + 1)plt.imshow(image)plt.title(label_names[label])plt.axis('off')</code>
ログイン後にコピー

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

データの前処理

モデルをトレーニングする前に、データを前処理する必要があります。画像は 150x150 ピクセルの均一なサイズにサイズ変更され、ピクセル値は 0 と 1 の間で正規化され、データはバッチでモデルにインポートできるようにバッチ処理されます。

<code>IMG_SIZE = 150</code>
ログイン後にコピー
<code>def format_image(image, label):image = tf.cast(image, tf.float32) / 255.0# Normalize the pixel valuesimage = tf.image.resize(image, (IMG_SIZE, IMG_SIZE))# Resize to the desired sizereturn image, labelbatch_size = 32train_data = train_data.map(format_image).shuffle(1000).batch(batch_size)validation_data = validation_data.map(format_image).batch(batch_size)test_data = test_data.map(format_image).batch(batch_size)</code>
ログイン後にコピー

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

##モデルの構築

この記事では、事前トレーニングされた MobileNet V2 モデルを基本として使用しますそして、分類のためにグローバル平均プーリング層とコンパクト層を追加します。この記事では、ベース モデルの重みをフリーズして、トレーニング中に最上層の重みのみが更新されるようにします。

<code>base_model = tf.keras.applications.MobileNetV2(input_shape=(IMG_SIZE, IMG_SIZE, 3), include_top=False, weights='imagenet')base_model.trainable = False</code>
ログイン後にコピー
<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
ログイン後にコピー
ログイン後にコピー

トレーニング モデル

この記事では、3 サイクルにわたってモデルをトレーニングし、各サイクルの認証後に検証セットでテストします。トレーニング後にモデルを保存して、将来のテストで使用できるようにします。

<code>global_average_layer = tf.keras.layers.GlobalAveragePooling2D()prediction_layer = tf.keras.layers.Dense(1)model = tf.keras.Sequential([base_model,global_average_layer,prediction_layer])model.compile(optimizer=tf.keras.optimizers.RMSprop(lr=0.0001),loss=tf.keras.losses.BinaryCrossentropy(from_logits=True),metrics=['accuracy'])</code>
ログイン後にコピー
ログイン後にコピー
<code>history = model.fit(train_data,epochs=3,validation_data=validation_data)</code>
ログイン後にコピー

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

モデル履歴

Mobilenet V2 レイヤーがどのように機能するかを知りたい場合は、次の図がこのレイヤーの結果です。

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する

#モデルの評価トレーニングが完了すると、モデルはテスト セットで評価されます。新しいデータでどのように動作するかを確認してください。

<code>loaded_model = tf.keras.models.load_model('cats_vs_dogs.h5')test_loss, test_accuracy = loaded_model.evaluate(test_data)</code>
ログイン後にコピー
<code>print('Test accuracy:', test_accuracy)</code>
ログイン後にコピー

予測最後に、この記事では、モデルを使用してテスト セット内のいくつかのサンプル画像を予測し、結果を表示します。

<code>for image , _ in test_.take(90) : passpre = loaded_model.predict(image)plt.figure(figsize = (10 , 10))j = Nonefor value in enumerate(pre) : plt.subplot(7,7,value[0]+1)plt.imshow(image[value[0]])plt.xticks([])plt.yticks([])if value[1] > pre.mean() :j = 1color = 'blue' if j == _[value[0]] else 'red'plt.title('dog' , color = color)else : j = 0color = 'blue' if j == _[value[0]] else 'red'plt.title('cat' , color = color)plt.show()</code>
ログイン後にコピー

TensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成する 完了しました! TensorFlow と Keras を使用して、猫と犬の画像を区別できる画像分類器を作成しました。いくつかの調整と微調整を行うことで、このアプローチは他の画像分類問題にも適用できます。

以上がTensorFlow と Keras を使用して猫と犬の写真の深層学習分類器を作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Python での感情分析に BERT を使用する方法と手順 Python での感情分析に BERT を使用する方法と手順 Jan 22, 2024 pm 04:24 PM

BERT は、2018 年に Google によって提案された事前トレーニング済みの深層学習言語モデルです。正式名は BidirectionEncoderRepresentationsfromTransformers で、Transformer アーキテクチャに基づいており、双方向エンコードの特性を備えています。従来の一方向コーディング モデルと比較して、BERT はテキストを処理するときにコンテキスト情報を同時に考慮できるため、自然言語処理タスクで優れたパフォーマンスを発揮します。その双方向性により、BERT は文内の意味関係をより深く理解できるようになり、それによってモデルの表現能力が向上します。事前トレーニングおよび微調整方法を通じて、BERT は感情分析、命名などのさまざまな自然言語処理タスクに使用できます。

一般的に使用される AI 活性化関数の分析: Sigmoid、Tanh、ReLU、Softmax のディープラーニングの実践 一般的に使用される AI 活性化関数の分析: Sigmoid、Tanh、ReLU、Softmax のディープラーニングの実践 Dec 28, 2023 pm 11:35 PM

活性化関数は深層学習において重要な役割を果たしており、ニューラル ネットワークに非線形特性を導入することで、ネットワークが複雑な入出力関係をより適切に学習し、シミュレートできるようになります。活性化関数の正しい選択と使用は、ニューラル ネットワークのパフォーマンスとトレーニング結果に重要な影響を与えます。この記事では、よく使用される 4 つの活性化関数 (Sigmoid、Tanh、ReLU、Softmax) について、導入、使用シナリオ、利点、欠点と最適化ソリューション アクティベーション関数を包括的に理解できるように、次元について説明します。 1. シグモイド関数 シグモイド関数の公式の概要: シグモイド関数は、任意の実数を 0 と 1 の間にマッピングできる一般的に使用される非線形関数です。通常は統一するために使用されます。

ORB-SLAM3を超えて! SL-SLAM: 低照度、重度のジッター、弱いテクスチャのシーンはすべて処理されます。 ORB-SLAM3を超えて! SL-SLAM: 低照度、重度のジッター、弱いテクスチャのシーンはすべて処理されます。 May 30, 2024 am 09:35 AM

以前に書きましたが、今日は、深層学習テクノロジーが複雑な環境におけるビジョンベースの SLAM (同時ローカリゼーションとマッピング) のパフォーマンスをどのように向上させることができるかについて説明します。ここでは、深部特徴抽出と深度マッチング手法を組み合わせることで、低照度条件、動的照明、テクスチャの弱い領域、激しいセックスなどの困難なシナリオでの適応を改善するように設計された多用途のハイブリッド ビジュアル SLAM システムを紹介します。当社のシステムは、拡張単眼、ステレオ、単眼慣性、ステレオ慣性構成を含む複数のモードをサポートしています。さらに、他の研究にインスピレーションを与えるために、ビジュアル SLAM と深層学習手法を組み合わせる方法も分析します。公開データセットと自己サンプリングデータに関する広範な実験を通じて、測位精度と追跡堅牢性の点で SL-SLAM の優位性を実証しました。

潜在空間の埋め込み: 説明とデモンストレーション 潜在空間の埋め込み: 説明とデモンストレーション Jan 22, 2024 pm 05:30 PM

潜在空間埋め込み (LatentSpaceEmbedding) は、高次元データを低次元空間にマッピングするプロセスです。機械学習と深層学習の分野では、潜在空間埋め込みは通常、高次元の入力データを低次元のベクトル表現のセットにマッピングするニューラル ネットワーク モデルです。このベクトルのセットは、「潜在ベクトル」または「潜在ベクトル」と呼ばれることがよくあります。エンコーディング」。潜在空間埋め込みの目的は、データ内の重要な特徴をキャプチャし、それらをより簡潔でわかりやすい形式で表現することです。潜在空間埋め込みを通じて、低次元空間でデータの視覚化、分類、クラスタリングなどの操作を実行し、データをよりよく理解して活用できます。潜在空間埋め込みは、画像生成、特徴抽出、次元削減など、多くの分野で幅広い用途があります。潜在空間埋め込みがメイン

1 つの記事で理解: AI、機械学習、ディープラーニングのつながりと違い 1 つの記事で理解: AI、機械学習、ディープラーニングのつながりと違い Mar 02, 2024 am 11:19 AM

今日の急速な技術変化の波の中で、人工知能 (AI)、機械学習 (ML)、および深層学習 (DL) は輝かしい星のようなもので、情報技術の新しい波をリードしています。これら 3 つの単語は、さまざまな最先端の議論や実践で頻繁に登場しますが、この分野に慣れていない多くの探検家にとって、その具体的な意味や内部のつながりはまだ謎に包まれているかもしれません。そこで、まずはこの写真を見てみましょう。ディープラーニング、機械学習、人工知能の間には密接な相関関係があり、進歩的な関係があることがわかります。ディープラーニングは機械学習の特定の分野であり、機械学習

超強い!深層学習アルゴリズムのトップ 10! 超強い!深層学習アルゴリズムのトップ 10! Mar 15, 2024 pm 03:46 PM

2006 年にディープ ラーニングの概念が提案されてから、ほぼ 20 年が経過しました。ディープ ラーニングは、人工知能分野における革命として、多くの影響力のあるアルゴリズムを生み出してきました。では、ディープラーニングのトップ 10 アルゴリズムは何だと思いますか?私の考えでは、ディープ ラーニングのトップ アルゴリズムは次のとおりで、いずれもイノベーション、アプリケーションの価値、影響力の点で重要な位置を占めています。 1. ディープ ニューラル ネットワーク (DNN) の背景: ディープ ニューラル ネットワーク (DNN) は、多層パーセプトロンとも呼ばれ、最も一般的なディープ ラーニング アルゴリズムです。最初に発明されたときは、コンピューティング能力のボトルネックのため疑問視されていました。最近まで長年にわたる計算能力、データの爆発的な増加によって画期的な進歩がもたらされました。 DNN は、複数の隠れ層を含むニューラル ネットワーク モデルです。このモデルでは、各層が入力を次の層に渡し、

Elasticsearch ベクトル検索の開発の歴史を基礎から実践まで振り返ります。 Elasticsearch ベクトル検索の開発の歴史を基礎から実践まで振り返ります。 Oct 23, 2023 pm 05:17 PM

1. はじめに ベクトル検索は、最新の検索および推奨システムの中核コンポーネントとなっています。テキスト、画像、音声などの複雑なオブジェクトを数値ベクトルに変換し、多次元空間で類似性検索を実行することにより、効率的なクエリ マッチングとレコメンデーションが可能になります。基本から実践まで、Elasticsearch の開発の歴史を確認します。この記事では、各段階の特徴と進歩に焦点を当てて、Elasticsearch ベクトル検索の開発の歴史を振り返ります。歴史をガイドとして考慮すると、Elasticsearch ベクトル検索の全範囲を確立するのは誰にとっても便利です。

conda に tensorflow をインストールする方法 conda に tensorflow をインストールする方法 Dec 05, 2023 am 11:26 AM

インストール手順: 1. Miniconda をダウンロードしてインストールし、オペレーティング システムに応じて適切な Miniconda バージョンを選択し、公式ガイドに従ってインストールします; 2. 「conda create -n tensorflow_env python=3.7」コマンドを使用して新しい Conda 環境を作成します; 3. Conda 環境をアクティブ化します; 4. 「conda install tensorflow」コマンドを使用して TensorFlow の最新バージョンをインストールします; 5. インストールを確認します。

See all articles