-
TensorFlowで花のデータセットを使ってモデルの学習を続ける方法
花のデータセットでモデルの学習を継続するには、Kerasのfitメソッドを使用します。このメソッドには、エポック数(データ全体を何回繰り返してモデルを構築するかの回数)も指定します。学習の過程では、サンプル画像がコンソール上に表示されることもあります。使用するデータセットについて本記事では、数千枚の花の画像を含む「flowers(花)」データセットを使用します。このデータセットは5つのサブディレクトリで構成されており、各クラス(花の種類)ごとに1つのサブディレクトリが割り当てられています。以下のコードはGoogle Colaboratory(Google Colab)上で実行しています。Goo
-
TensorFlowでアワビ(Abalone)データセットのCSVデータを読み込む方法を解説
アワビ(Abalone)データセットは、このデータセットを保存しているGoogle APIを使ってダウンロードできます。Pandasライブラリに用意されている「read_csv」メソッドを使用することで、APIからCSVファイルとしてデータを読み込みます。その際、特徴量(feature)の名前も明示的に指定します。関連記事: TensorFlowとは何か?KerasとTensorFlowを組み合わせてニューラルネットワークを作成する方法アワビデータセットについて本記事では、アワビの各種測定値を含む「アワビデータセット」を使用します。アワビとは、海に生息する巻貝の一種です。このデータセットの目的
-
PythonのCerberusでデータ検証(バリデーション)を行う方法を徹底解説
はじめにPythonのCerberusモジュールは、強力でありながら軽量なデータバリデーション(検証)機能を提供するライブラリです。拡張性に優れた設計になっており、さまざまなアプリケーションやカスタム検証ルールへの対応も容易です。Cerberusでは、まず「スキーマ」と呼ばれる検証ルールの定義を作成し、そのスキーマに対してデータを照合します。条件に一致しなかった場合は、どの箇所が問題だったのかを正確に示すエラーメッセージが出力されるのが特徴です。また、1つのデータフィールドに対して複数の条件を同時に適用することも可能です。Cerberusのインストール方法CerberusはPythonに標準で
-
TensorFlowでアワビ(Abalone)データセットのサンプルデータを表示する方法
Google APIを使ってアワビ(Abalone)データセットをダウンロードした後、headメソッドを呼び出すことで、コンソール上にデータのサンプルを簡単に表示できます。headメソッドに数値を引数として渡すと、その行数だけ先頭からデータが表示されます。引数を省略した場合は、デフォルトで先頭の数行が出力されます。アワビデータセットとは本記事では「アワビデータセット」を使用します。このデータセットには、アワビ(海産の巻貝の一種)の各種測定値が含まれています。目的は、殻の長さ・重さなどの測定値をもとに、アワビの年齢を予測することです。なお、以下のコードはGoogle Colaboratory上で
-
TensorFlowとアワビデータセットを使ってシーケンシャルモデルを構築する方法
Kerasでは「Sequential」メソッドを使うことで、シーケンシャルモデルを簡単に構築できます。このメソッドの中に、層(レイヤー)の数や種類を指定していくだけで、ニューラルネットワークの骨格が完成します。アワビデータセットについて本記事では「アワビデータセット」を使用します。このデータセットには、アワビ(海産巻貝の一種)に関するさまざまな測定値が含まれており、目的はそれらの測定値から年齢を予測することです。実行環境:Google Colaboratory以下のコードはGoogle Colaboratory(Google Colab)上で実行しています。Colabはブラウザ上でPython
-
PythonのopenpyxlでExcelファイルを読み書きする方法を徹底解説
はじめにopenpyxlは、Excel 2010形式のファイル(xlsx/xlsm/xltx/xltm)を読み書きするためのPythonライブラリです。Office Open XML形式をPythonからネイティブに扱えるライブラリが存在しなかったことから、その不足を補うために誕生しました。業務などで使用するExcelファイルは「ワークブック(Workbook)」と呼ばれ、最低1枚、最大で数十枚のシートを含むことができます。各シートは、行が1から始まり、列がAから始まる構成になっています。openpyxlライブラリを使えば、シートの追加やデータの入力はもちろん、データの操作や削除まで、さまざま
-
TensorFlowでアワビデータセット用の正規化レイヤーを構築する方法
「preprocessing」モジュールに含まれる「Normalization」メソッドを使用することで、正規化レイヤーを構築できます。このレイヤーは、アワビデータセットの特徴量に自動的に適応するように設計されています。さらに、モデルの学習能力を高めるためにDenseレイヤー(全結合層)も追加します。この正規化レイヤーは、各列(特徴量)ごとの平均と分散を事前に計算する役割を担います。そして、その平均値と分散値をもとにデータを正規化し、モデルの学習を安定させます。アワビデータセットについて今回使用するのはアワビデータセットです。アワビは海産の巻貝の一種で、このデータセットにはアワビのさまざまな測
-
Pythonのosモジュール入門:ディレクトリ操作とファイル操作の基本をマスターしよう
はじめにPythonのosモジュールは、開発者が実行中のオペレーティングシステム(OS)とやり取りするためのさまざまな関数を提供する標準ライブラリです。この記事では、その中でも特によく使われる以下の操作について解説します。ディレクトリ(フォルダ)の作成・削除ディレクトリ名の変更ファイル操作の基本それでは、早速始めていきましょう。準備:モジュールのインポートosモジュールはPythonのインストール時に同梱されているため、PIPなどで別途インストールする必要はありません。各種メソッドや関数を使うには、モジュールをインポートするだけです。import osこれで、osモジュールが提供するさまざまな
-
正規化後のTensorFlowモデルをトレーニング・構築するには?compileとfitの使い方を解説
あわび(アワビ)データセットに対してモデルをトレーニング・構築するには、「compile」メソッドと「fit」メソッドを使用します。それぞれモデルのコンパイルと学習を担当しており、「fit」メソッドではパラメータとしてエポック数も指定できます。使用するデータセットについて本記事では、あわびの各種測定値を含む「abaloneデータセット」を使用します。アワビは巻き貝の一種であり、このデータセットの目的は、その他の測定値から年齢を予測することです。コードの実行にはGoogle Colaboratory(Google Colab)を使用しています。Google Colabはブラウザ上でPythonコ
-
TensorFlowでUnicode文字列を表現・操作する方法を徹底解説
Unicode文字列は、デフォルトでUTF-8エンコードされます。TensorFlowモジュールのconstantメソッドを使用すると、Unicode文字列をUTF-8エンコードされたスカラー値として表現できます。さらに、TensorFlowモジュールに用意されているencodeメソッドを使えば、UTF-16エンコードされたスカラーとしても表現することが可能です。Unicodeとは?自然言語処理における役割自然言語処理モデルは、異なる文字セットを持つ多様な言語を扱います。Unicodeは、ほぼすべての言語の文字を表現できる標準的なエンコーディングシステムとして広く採用されています。各文字は、0
-
TensorFlowを使って異なる文字列表現間の変換を行う方法
エンコードされた文字列スカラーは「decode」メソッドを使ってコードポイントのベクトルへ変換できます。逆に、コードポイントのベクトルは「encode」メソッドでエンコードされた文字列スカラーへ戻すことが可能です。さらに「transcode」メソッドを使用すれば、エンコードされた文字列スカラーを別のエンコーディング形式へ変換することもできます。Unicode文字列の扱い方ここでは、PythonでUnicode文字列を表現し、Unicodeに対応した各種操作を使ってそれらを処理する方法を解説します。まず、標準的な文字列操作のUnicode版を活用して、スクリプト検出に基づいてUnicode文字列
-
Pythonのsysモジュールとは?基本の使い方を実例付きで解説
はじめにPythonのsysモジュールは、Pythonインタープリタに関するさまざまな情報を提供してくれる標準ライブラリです。インタープリタが持つ定数や関数、メソッドの詳細情報を取得したり、スクリプトの動作そのものを制御したりすることもできます。この記事では、sysモジュールの基本的な使い方を、実際のコード例とともにわかりやすく解説していきます。sysモジュールを使う準備sysモジュールはPythonに最初から同梱されている標準モジュールです。そのため、PIPなどのパッケージマネージャーで別途ダウンロード・インストールする必要はありません。sysモジュールとその機能を使い始めるには、まずインポ
-
TensorFlowとPythonでUnicode文字列をUTF-8エンコードされた文字列として表現する方法
「encode」メソッドを使うことで、Unicode文字列の集合をUTF-8エンコードされた文字列として表現できます。関連記事:TensorFlowとは何か? KerasはどのようにTensorFlowと連携してニューラルネットワークを構築するのか?Unicodeと自然言語処理の関係自然言語を扱うモデルは、それぞれ異なる文字セットを持つ多様な言語を処理します。Unicodeは、ほぼすべての言語の文字を表現できる標準的なエンコーディング体系として広く採用されています。各文字は、0から0x10FFFFまでの範囲に割り当てられた一意の整数コードポイントによってエンコードされ、Unicode文字列はゼ
-
TensorFlowとPythonで同じ長さの複数の文字列をエンコードする方法
同じ長さの複数の文字列をエンコードする場合は、tf.Tensorを入力値として使用できます。一方、長さが異なる複数の文字列をエンコードする必要がある場合には、tf.RaggedTensorを入力として使うことが推奨されます。また、パディング(padded)形式やスパース(sparse)形式で複数の文字列を含むテンソルがある場合は、まずそれをtf.RaggedTensorに変換してから、unicode_encodeメソッドを呼び出す必要があります。Unicode文字列の操作についてここでは、Pythonを使ってUnicode文字列をどのように表現し、Unicodeの同等機能を利用してそれらを操作
-
PythonとTensorFlowでUnicode操作を行う方法をわかりやすく解説
TensorFlowでUnicode操作を行うには、まず文字列の長さを取得し、unitパラメータに任意の値(デフォルトは「BYTE」)を設定します。encodeメソッドは、コードポイントのベクトルをエンコード済みの文字列スカラーへ変換するために使用され、これにより各エンコード済み文字列に含まれるUnicodeコードポイントを特定できます。Unicodeとは何か自然言語を処理するモデルは、異なる文字セットを持つ多様な言語を扱う必要があります。Unicodeは、ほぼすべての言語の文字を表現できる標準的なエンコーディングシステムです。すべての文字は、0から0x10FFFFまでの範囲にある一意の整数コ
-
TensorFlowを使ってPythonで文字列の部分文字列(サブストリング)を操作する方法
TensorFlowでは、「strings」モジュールに用意されている「substr」メソッドを使うことで、文字列の部分文字列(サブストリング)を簡単に扱うことができます。処理結果はNumPy配列に変換したうえで表示されます。 関連記事:TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組みを解説 本記事では、PythonでUnicode文字列を表現する方法と、Unicode対応の操作を使ってそれらを加工する方法を学びます。まず、標準的な文字列操作に相当するUnicode版の関数を活用し、文字体系(スクリプト)の検出に基づいてUnicod
-
TensorFlowとPythonでUnicode文字列を分割し、バイトオフセットを取得する方法
Unicode文字列の分割には「unicode_split」メソッドを、バイトオフセットの指定(取得)には「unicode_decode_with_offsets」メソッドを使用します。これらのメソッドはいずれも、TensorFlowモジュールの「strings」クラスに含まれています。関連記事TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組みについてもぜひご覧ください。はじめにまず、PythonでUnicode文字列を表現し、Unicode互換の操作を使ってそれらを処理する方法を理解しましょう。標準的な文字列操作に相当するUnico
-
TensorFlowとPythonで扱うUnicodeスクリプトとは?tf.strings.unicode_scriptの使い方を解説
Unicodeスクリプトとは何かすべてのUnicodeコードポイントは、それぞれ単一の「スクリプト(文字体系)」と呼ばれるコードポイントの集合に属しています。ある文字がどのスクリプトに属するかを知ることで、その文字がどの言語に対応しているのかを判断できます。TensorFlowには、指定されたコードポイントがどのスクリプトを使用するのかを調べるための「tf.strings.unicode_script」メソッドが用意されています。このメソッドが返すスクリプトコードはint32型の値であり、International Components for Unicode(ICU)のUScriptCode
-
TensorFlowにおけるテキストデータのセグメンテーションとは?Unicode処理の基本を解説
テキストのセグメンテーション(分割)とはセグメンテーション(Segmentation)とは、テキストを単語のような単位に分割する処理のことです。英語など多くの言語では、スペース文字を使って単語を区切りますが、中国語や日本語のようにスペースを使用しない言語も存在します。また、ドイツ語のような言語には長い複合語が含まれており、意味を分析するためには適切に分割する必要があります。自然言語を扱うモデルは、異なる文字セットを持つさまざまな言語を処理しなければなりません。このとき標準的なエンコーディングシステムとして広く使われているのがUnicodeです。Unicodeでは、ほぼすべての言語の文字を表現で
-
TensorFlowとPythonで文中のすべての単語のコードポイントを取得する方法
文中のすべての単語のコードポイントを取得するには、まずその位置が単語の始まりかどうかを判定します。次に、文字のインデックスが、全文章から平坦化された文字リスト内の特定の単語の開始位置と一致しているかどうかを確認します。これらの検証が完了したら、後述のメソッドを使って、各単語に含まれるすべての文字のコードポイントを取得できます。スクリプト識別子(script identifiers)は、単語の境界を決定し、区切りを追加すべき位置を特定する際に役立ちます。単語境界は、文の先頭、および直前の文字とスクリプトが異なる各文字の位置に追加されます。こうして得られた開始オフセット(start offsets