Path: blob/master/site/ja/io/tutorials/mongodb.ipynb
25118 views
Copyright 2021 The TensorFlow IO Authors.
MongoDB コレクションからの Tensorflow データセット
概要
このチュートリアルでは、mongoDB コレクションからデータを読み取り、それを使用して tf.keras
モデルをトレーニングすることにより、tf.data.Dataset
を準備することに焦点を当てています。
**注: **mongodb ストレージの基本的な理解は、チュートリアルを簡単に実行するのに役立ちます。
セットアップパッケージ
このチュートリアルでは、pymongo
をヘルパーパッケージとして使用して、データを格納するための新しい mongodb データベースとコレクションを作成します。
必要な tensorflow-io および mongodb(ヘルパー)パッケージをインストールする
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -eras (/usr/local/lib/python3.7/dist-packages)
パッケージをインポートする
インポートした TensorFlow と TensorFlow-IO を確認する
MongoDB インスタンスをダウンロードしてセットアップする
デモの目的で、mongodb のオープンソースバージョンが使用されます。
インスタンスが開始されたら、プロセスリストで mongo
の grep を実行して、利用できることを確認します。
ベースエンドポイントにクエリを実行して、クラスターに関する情報を取得します。
データセットを探索する
このチュートリアルでは、 PetFinderデータセットをダウンロードして、データを mongodb に手動でフィードします。この分類問題の目的は、ペットが引き取られるかどうかを予測することです。
チュートリアルの目的で、ラベル列に変更が加えられます。 0 はペットが引き取られなかったことを示し、1 は引き取られたことを示すようになります。
データセットを分割する
mongo コレクション にトレーニングデータとテストデータを格納する
tfio データセットを準備する
データがクラスターで利用可能になると、 mongodb.MongoDBIODataset
クラスがこの目的で使用されます。このクラスは tf.data.Dataset
を継承しているため、tf.data.Dataset
のすべての便利な機能をすぐに利用できます。
トレーニングデータセット
train_ds
の各項目は、json にデコードする必要がある文字列です。これを行うには、TensorSpec
を指定して、列のサブセットのみを選択できます。
テストデータセット
Keras 前処理レイヤーを定義する
構造化データのチュートリアルに従って、Keras 前処理レイヤーを使用することをお勧めします。より直感的で、モデルと簡単に統合できるためです。ただし、標準の feature_columns も使用できます。
構造化データの分類での preprocessing_layers
の理解を深めるには、構造化データのチュートリアルを参照してください。
モデルをビルド、コンパイル、およびトレーニングする
テストデータを推測する
注: このチュートリアルの目的は、mongodb から tf.data.Datasets
を準備して tf.keras
モデルを直接トレーニングする Tensorflow-IO の機能を示すことであるため、モデルの精度を向上させることは現在の範囲外です。ただし、ユーザーはデータセットを調べ、特徴列とモデルアーキテクチャを試して、分類パフォーマンスを向上させることができます。