ホーム » Keras » Keras 2 リリースノート (翻訳)

Keras 2 リリースノート (翻訳)

Keras 2 リリースノート (翻訳)

翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 05/08/2017

* 本ページは、github Keras の releases の Keras 2 release notes を翻訳したものです:

 

このドキュメントは Keras 1 から Keras 2 で発生した変更、得に API 変更について詳述しています。

 

訓練

  • nb_epoch 引数はどこにおいても epochs と名前変更されました。
  • fit_generator, evaluate_generator and predict_generator メソッドは、サンプル数よりも、今では generator からバッチ数 (訓練ステップ数) を描く動作をします。
    • samples_per_epoch は fit_generator で steps_per_epoch に名前変更されました。
    • nb_val_samples は fit_generator で validation_steps に名前変更されました。
    • val_samples は evaluate_generator と predict_generator で steps と名前変更されました。
  • model.add_loss(loss_tensor) を呼び出すことにより今ではモデルに損失を手動で追加できます。損失はモデルの他の損失に追加されて訓練の間に最小化されます。
  • 任意の損失を特定のモデル出力に適用しないこともまた可能です。出力に対して損失引数として None を渡す場合 (e.g. compile において loss={‘output_1’: None, ‘output_2’: ‘mse’})、fit, train_on_batch, or fit_generator を使用する時にモデルはこの出力のために Numpy 配列を供給されることを期待しません。predict を使用する時には通常のように出力値は依然として返されます。
  • TensorFlow では、今ではモデルはそれらの入力の一部が (あるいは全てでも) placeholder よりも TensorFlow queue あるいは変数である場合、fit を使用して訓練されます。詳細な例は このテスト を見てください。

 

損失 & メトリックス

  • objectives モジュールは losses と名前変更されました。
  • 幾つかの legacy メトリック関数は削除されました、つまり matthews_correlation, precision, recall, fbeta_score, fmeasure です。
  • カスタム・メトリック関数はもはや dict を返すことができません、それらは単一のテンソルを返さなければなりません。

 

モデル

  • モデルのコンストラクタ引数は名前変更されました :
    • input -> inputs
    • output -> outputs
  • Sequential モデルはもはや set_input メソッドをサポートしません。
  • Keras 2.0 またはそれ以上で保存された任意のモデルについて、backend X で訓練された重みは手動のいかなる変換ステップもなしで backend Y で動作するように変換されます。

 

除去

層 MaxoutDense, Highway は deprecated となりそして TimedistributedDense は削除されました。

Call メソッド

  • 学習段階を使用する全ての層は今では call において training 引数をサポートし (Python boolean または symbolic tensor)、層毎ベースで学習段階を指定可能です。例えば、Dropout インスタンスを dropout(inputs, training=True) として呼び出すことにより、現在のグローバルな学習段階にかかわらず、いつも dropout を適用する層を得られます。訓練引数はどこでもグローバルな Keras 学習段階にデフォルト設定されます。
  • 層の call メソッドは任意のキーワード引数を取ることができます、e.g. call(inputs, alpha=0.5) のような call signature でカスタム層を定義し、そして層を呼び出すときに (当然、functional API でのみ) alpha キーワード引数を渡すことができます。
  • __call__ は今では TensorFlow name_scope を使用します、その結果 TensorFlow グラフは TensorBoard において良く見え良く構造化されます。

全ての層は legacy dim_ordering 引数を取る

dim_ordering は data_format と名前変更されました。それは今では2つの値を取ります : “channels_first” (以前は “th”) と “channels_last” (以前は “tf”) です。

Dense 層

インターフェイスを変更しました :

  • output_dim -> units
  • init -> kernel_initializer
  • added bias_initializer argument
  • W_regularizer -> kernel_regularizer
  • b_regularizer -> bias_regularizer
  • b_constraint -> bias_constraint
  • bias -> use_bias

Embedding

Convolutional 層

  • AtrousConvolution1D と AtrousConvolution2D 層は deprecated となりました。これらの機能は代わりに Convolution1D と Convolution2D 層の dilation_rate 引数を通してサポートされます。
  • Convolution* 層は Conv* 層と名前変更されました。
  • Deconvolution2D 層は Conv2DTranspose と名前変更されました。
  • Conv2DTranspose は output_shape 引数をもはや必要としません、使用をより簡単にしました。

全ての convolutional 層に共通のインターフェイス変更 :

  • nb_filter -> filters
  • float カーネル次元引数は単一のタプル引数、kernel size となります。E.g. legacy Conv2D(10, 3, 3) 呼び出しは Conv2D(10, (3, 3)) になります。
  • kernel_size はタプルの代わりに整数を設定可能です、e.g. Conv2D(10, 3) は Conv2D(10, (3, 3)) と同値です。
  • subsample -> strides. 整数としても設定可能です。
  • border_mode -> padding
  • init -> kernel_initializer
  • added bias_initializer 引数を追加しました。
  • W_regularizer -> kernel_regularizer
  • b_regularizer -> bias_regularizer
  • b_constraint -> bias_constraint
  • bias -> use_bias
  • dim_ordering -> data_format
  • SeparableConv2D 層で、init は depthwise_initializer と pointwise_initializer に分割されました。
  • Conv2D と Conv1D で dilation_rate 引数を追加しました。
  • 1D convolution カーネルは今では 3D テンソルとして保存されます (以前の 4D の代わりに)。
  • 2D と 3D convolution カーネルは今では spatial_dims + (input_depth, depth)) フォーマットで保存されます、data_format=”channels_first” でさえも。

Pooling1D

  • pool_length -> pool_size
  • stride -> strides
  • border_mode -> padding

Pooling2D, 3D

  • border_mode -> padding
  • dim_ordering -> data_format

ZeroPadding 層

ZeroPadding2D と ZeroPadding3D 層の padding 引数はそれぞれ長さ 2 と 3 のタプルでなければなりません。各エントリ i は空間的な次元 i をどのくらいで pad するかを含みます。もし整数ならば、対照的な padding が適用されます。整数のタプルならば、非対称な padding が適用されます。

Upsampling1D

  • length -> size

BatchNormalization

BatchNormalization の mode 引数は除去されました ; BatchNorm は今では mode 0 のみをサポートします(訓練の間は feature-wise な normalization のためにバッチ・メトリックスを使用し、テストの間は feature-wise normalization のために移動メトリックス (moving metrics) を使用します)。

  • beta_init -> beta_initializer
  • gamma_init -> gamma_initializer
  • 引数 center, scale を追加しました (boolean、それぞれ beta と gamma を使うか否か)
  • 引数 moving_mean_initializer, moving_variance_initializer を追加しました
  • 引数 beta_regularizer, gamma_regularizer を追加しました
  • 引数 arguments beta_constraint, gamma_constraint を追加しました
  • 属性 running_mean は moving_mean に名前変更されました
  • 属性 running_std は moving_variance に名前変更されました (実際には現行の実装と不一致です)。

ConvLSTM2D

convolutional 層と recurrent 層のためのものと同じ変更が適用されます。

PReLU

  • init -> alpha_initializer

GaussianNoise

  • sigma -> stddev

Recurrent 層

  • output_dim -> units
  • init -> kernel_initializer
  • inner_init -> recurrent_initializer
  • 引数 bias_initializer を追加しました
  • W_regularizer -> kernel_regularizer
  • b_regularizer -> bias_regularizer
  • 引数 kernel_constraint, recurrent_constraint, bias_constraint が追加されました
  • dropout_W -> dropout
  • dropout_U -> recurrent_dropout
  • consume_less -> implementation. 文字列値は整数で置き換えられました: implementation 0 (default), 1 or 2。
  • LSTM only: 引数 forget_bias_init は除去されました。代わりに boolean 引数 unit_forget_bias があり、True がデフォルトです。

Lambda

Lambda 層は今では mask 引数をサポートします。

 

Utilities

Utilities は今では特定の submodule からではなく keras.utils から import されるべきです (e.g. no more keras.utils.np_utils…)。

 

Backend

random_normal と truncated_normal

  • std -> stddev

 

Misc

  • backend において、set_image_ordering と image_ordering は今では set_data_format と data_format です。
  • (nb_epoch 以外の) nb_ で prefix された任意の引数は代わりに num_ で prefix されるように名前変更されました。これは2つのデータセットと一つの preprocessing ユティリティに影響を与えます。

 
以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com