問題タブ [tensorflow2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
873 参照

python - tf.keras.models.model 対 tf.keras.model

modelstf.keras APIは冗長ですか? 場合によっては、 を使用しなくてmodelsも、コードも適切に実行されます。

  1. keras.models.sequentialkeras.sequential
  2. tf.keras.models.Modeltf.keras.Model

ただし、場合によってmodelsは必要なようです。たとえば、
model = keras.models.load_model()、しかし、機能model = keras.Modelはありません.load_model().load_model()で定義されているためですtf.keras.Model

私はそれがかなり紛らわしく、半冗長だと思います。のポイントとは何かmodels、いつ必要なのかを誰か説明できますか?

0 投票する
0 に答える
356 参照

python - tensorflow2 のカスタム データ ジェネレーターを使用したマルチスレッド処理

私はケラス、テンソルフロー1でカスタムデータジェネレーターを使用しています

それはうまくいきました。tensorflow2 に切り替えたところ、multi_gpu_model(model) がサポートされなくなっていることがわかりました。

ドキュメントで提案されているように、4 つの GPU を備えたヘッドレス サーバーで実行しているため、tf.distribute.MirroredStrategy() に切り替えました。また、ジェネレーター (「training_generator」) を tf.data.Dataset 形式に切り替えました。

しかし、複数のスレッドで実行するにはどうすればよいでしょうか? これが私が試したものです(両方ともここから: https://medium.com/@nimatajbakhsh/building-multi-threaded-custom-data-pipelines-for-tensorflow-f76e9b1a32f5 ):

  1. 「マップ」でラップします。これは機能しますが、CPU が完全にロードされておらず、GPU が不足しているため、単一のスレッドで実行されます。

train_dataset = train_ds.map(lambda x,y: (x,y), num_parallel_calls=workers)

  1. 「インターリーブ」の使用

generators = tf.data.Dataset.from_tensor_slices(['Gen_0', 'Gen_1', 'Gen_2', 'Gen_3', 'Gen_4', 'Gen_5', 'Gen_6', 'Gen_7','Gen_8','Gen_9', 'Gen_10'])

` これにより CPU がロードされ、GPU に適切に供給されますが、データセットのコピーが作成されるようです。私が望むのは、データセット全体を一度実行し、以前は model.fit_generator() で可能だったように並列でバッチを生成することだけです

どんな助けや洞察も大歓迎です!