タグ付けされた質問 「tensorflow2.0」

2
TensorFlow 2がTensorFlow 1よりもはるかに遅いのはなぜですか?
Pytorchに切り替える理由として多くのユーザーから引用されていますが、私は熱心な実行のために最も重要な実用的な品質、速度を犠牲にする理由と説明をまだ見つけていません。 以下は、TF1とTF2を比較したコードベンチマークのパフォーマンスです。TF1は、47%から276%速く実行されています。 私の質問は、グラフまたはハードウェアレベルで、このような大幅な速度低下をもたらすのは何ですか? 詳細な答えを探しています-すでに幅広い概念に精通しています。関連Git 仕様:CUDA 10.0.130、cuDNN 7.4.2、Python 3.7.4、Windows 10、GTX 1070 ベンチマーク結果: 更新:以下のコードに従ってEager Executionを無効にしても効果はありません。ただし、動作に一貫性がありません。グラフモードで実行するとかなり役立つ場合もあれば、Eagerに比べて実行速度が遅い場合もあります。 TF開発者はどこにも現れないので、私はこの問題を自分で調査します。リンクされたGithubの問題の進捗状況を追跡できます。 更新2:説明に沿って、共有する大量の実験結果。今日行われるべきです。 ベンチマークコード: # use tensorflow.keras... to benchmark tf.keras; used GPU for all above benchmarks from keras.layers import Input, Dense, LSTM, Bidirectional, Conv1D from keras.layers import Flatten, Dropout from keras.models import Model from keras.optimizers import Adam import …

10
Tensorflow 2.0-AttributeError:モジュール 'tensorflow'には属性 'Session'がありません
sess = tf.Session()Tensorflow 2.0環境でコマンドを実行すると、次のようなエラーメッセージが表示されます。 Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: module 'tensorflow' has no attribute 'Session' システムインフォメーション: OSプラットフォームとディストリビューション:Windows 10 Pythonバージョン:3.7.1 Tensorflowバージョン:2.0.0-alpha0(pipとともにインストール) 再現する手順: インストール: pip install --upgrade pip pip install tensorflow == 2.0.0-alpha0 pip install keras pip install numpy == 1.16.2 実行: コマンドを実行します:tensorflowをtfとしてインポートします コマンドを実行します:sess = …

4
警告:tensorflow:sample_weightモードは…から['…']に強制変換されました
.fit_generator()または.fit()を使用して画像分類子をトレーニングclass_weight=し、引数としてに辞書を渡します。 TF1.xでエラーが発生することはありませんが、2.1ではトレーニングを開始すると次の出力が表示されます。 WARNING:tensorflow:sample_weight modes were coerced from ... to ['...'] 何かをから...に強制するとはどういう意味['...']ですか? tensorflowのリポジトリに関するこの警告の出典はこちらです。コメントは次のとおりです。 sample_weight_modesをターゲット構造に強制変換しようとしました。これは、Modelが内部表現の出力をフラット化するという事実に暗黙的に依存しています。

2
Kerasの予測時間の矛盾
私のケラスモデルの予測時間の見積もりを取得しようとしたところ、奇妙なことがわかりました。通常はかなり高速であることは別にして、モデルは予測を出すのにかなり長い時間が必要です。それだけでなく、それらの時間はモデルの実行時間が長くなるほど増加します。エラーを再現するための最小限の実用例を追加しました。 import time import numpy as np from sklearn.datasets import make_classification from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten # Make a dummy classification problem X, y = make_classification() # Make a dummy model model = Sequential() model.add(Dense(10, activation='relu',name='input',input_shape=(X.shape[1],))) model.add(Dense(2, activation='softmax',name='predictions')) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(X, y, verbose=0, batch_size=20, epochs=100) …

1
Tensorflowは `dataset.map(mapFn)`のメソッドから `image.shape`を取得できません
画像の最小寸法をにサイズ変更するtensorflowと同等のことを実行しようとしてtorch.transforms.Resize(TRAIN_IMAGE_SIZE)います。このようなものTRAIN_IMAGE_SIZE def transforms(filename): parts = tf.strings.split(filename, '/') label = parts[-2] image = tf.io.read_file(filename) image = tf.image.decode_jpeg(image) image = tf.image.convert_image_dtype(image, tf.float32) # this doesn't work with Dataset.map() because image.shape=(None,None,3) from Dataset.map() image = largest_sq_crop(image) image = tf.image.resize(image, (256,256)) return image, label list_ds = tf.data.Dataset.list_files('{}/*/*'.format(DATASET_PATH)) images_ds = list_ds.map(transforms).batch(4) 簡単な答えは次のとおりです。Tensorflow:画像の中央の正方形の最大領域を切り抜きます しかし、メソッドをtf.data.Dataset.map(transforms)で使用すると、shape=(None,None,3)内部から取得されlargest_sq_crop(image)ます。メソッドを正常に呼び出すと、メソッドは正常に動作します。

1
10エポックごとにモデルを保存するtensorflow.keras v2
私はテンソルフローv2のサブモジュールとして定義されたケラスを使用しています。fit_generator()メソッドを使用してモデルをトレーニングしています。10エポックごとにモデルを保存したい。どうすればこれを達成できますか? Keras(tfのサブモジュールではない)では、を指定できますModelCheckpoint(model_savepath,period=10)。しかし、TF V2に、彼らはこれを変更したModelCheckpoint(model_savepath, save_freq)場所save_freqすることができ'epoch'、その場合、モデルはすべてのエポックを保存されます。save_freqが整数の場合、非常に多くのサンプルが処理された後でモデルが保存されます。しかし、私はそれが10エポックの後であることを望みます。どうすればこれを達成できますか?

2
Tensorflow 2にwavファイルをインポートする
Python 3.7とTensorflow 2.0を使用して、UrbanSoundsデータセットからwavファイルを読み取るのに苦労しています。この質問と回答は、入力が文字列テンソルでなければならないことを説明しているので役立ちますが、ファイルにエンコードされた初期メタデータを通過して実際のデータに到達するのは難しいようです。文字列をfloat32テンソルとしてロードする前に、文字列を前処理する必要がありますか?24ビットのwavから16ビットのwavにダウンサンプリングしてデータを前処理する必要があったため、データ入力パイプラインは予想よりもはるかに煩雑になっています。必要なダウンサンプリングは特にイライラします。これが私がこれまでに試みていることです: import tensorflow as tf # this is TensorFlow 2.0 path_to_wav_file = '/mnt/d/Code/UrbanSounds/audio/fold1/101415-3-0-2.wav' # Turn the wav file into a string tensor input_data = tf.io.read_file(path_to_wav_file) # Convert the string tensor to a float32 tensor audio, sampling_rate = tf.audio.decode_wav(input_data) これは私が最後のステップで得るエラーです: 2019-10-08 20:56:09.124254: W tensorflow/core/framework/op_kernel.cc:1546] OP_REQUIRES failed at decode_wav_op.cc:55 : …

2
すべての関数に@ tf.functionを使用する必要がありますか?
の公式チュートリアルは@tf.function言う: 最高のパフォーマンスを得て、モデルをどこにでもデプロイできるようにするには、tf.functionを使用してプログラムからグラフを作成します。AutoGraphのおかげで、驚くほどの量のPythonコードがtf.functionで機能するだけですが、まだ注意すべき落とし穴があります。 主な要点と推奨事項は次のとおりです。 オブジェクトの変更やリストの追加などのPythonの副作用に依存しないでください。 tf.functionは、NumPy演算やPythonプリミティブではなく、TensorFlow演算で最適に機能します。 疑問がある場合は、for x in yイディオムを使用してください。 それだけ言及どのように実装する@tf.function注釈付きの機能はありませんしたときにそれを使用します。 少なくとも関数に注釈を付ける必要があるかどうかを判断する方法にヒューリスティックはありtf.functionますか?副作用を削除したり、range()->のようなものを変更するのが面倒だったりしない限り、そうしない理由はないようですtf.range()。しかし、私がこれをやる気があるなら... @tf.functionすべての機能を使用しない理由はありますか?

1
tensorflow 2でtensorflowモジュールのインポートが遅い
関連: TensorFlow contribモジュールのインポートがTensorFlow 1.2.1で遅いまた、TensorFlowのインポートが非常に遅くなる原因は何ですか? 私はssdを使用してTensorFlowをインポートしています。16 GHzのRAMを備えた4 GHz 8コアPC(プロセッサAMD FX(TM)-8350 8コアプロセッサ、4000 MHz、4コア、8論理プロセッサ)を使用しています。TensorFlowのインポートには10​​〜12秒かかります。 TensorFlowの一部を選択的にインポートする方法はありますか? RAMディスクは役に立ちますか? :任意のより多くの仕事は、このようなものかにそこで行われているのPython 3での輸入tensorflow.contribに遅いinspect.stackがあるので遅く#11829? 編集:Python 3.6.8 :: windoze 8.1上のAnaconda、Inc. Dosボックス、cygwin bashが12秒と遅い。コードbash /電源シェルとの比較は8秒で最速です。.pyファイルでのインポート:tensorflowをtfとしてインポートします。環境がわからない。 編集2: PS D:\ray\dev\ml\ss1> conda info --envs # conda environments: # base * D:\Anaconda3 first D:\Anaconda3\envs\first d:\Anaconda3 first d:\Anaconda3\envs\first 編集3:以下のコードを使用して、コマンドプロンプトに9〜10秒表示されます。 (tf2) D:\ray\dev\ml\ss1>python timeimport.py import tensorflow: 1 units, 9.796 …

2
GradienTapeの収束はKeras.model.fitよりもはるかに遅い
私は現在TF2.0 API を取得しようとしていますが、GradientTapeを通常のkeras.Model.fitと比較すると、次のことに気づきました。 実行速度が遅くなりました(おそらく意欲的な実行が原因です) 収束が非常に遅くなった(そして、なぜかはわからない)。 +--------+--------------+--------------+------------------+ | Epoch | GradientTape | GradientTape | keras.Model.fit | | | | shuffling | | +--------+--------------+--------------+------------------+ | 1 | 0.905 | 0.918 | 0.8793 | +--------+--------------+--------------+------------------+ | 2 | 0.352 | 0.634 | 0.2226 | +--------+--------------+--------------+------------------+ | 3 | 0.285 | 0.518 | 0.1192 …

2
TypeError:関数構築コード外の操作にグラフテンソルが渡されています
次の例外が発生します TypeError: An op outside of the function building code is being passed a "Graph" tensor. It is possible to have Graph tensors leak out of the function building context by including a tf.init_scope in your function building code. For example, the following function will fail: @tf.function def has_init_scope(): my_constant …

2
PyCharmにKeras(TensorFlow 2.0から)をインポートできません
PyCharmに安定版のTensorFlow 2.0(2019年10月1日にリリース)をインストールしました。 問題は、kerasパッケージが利用できないことです。 実際のエラーは: 「テンソルフローから名前「ケラス」をインポートできません」 を介してインストールしpip install tensorflow==2.0.0たCPU version後、CPUバージョンをアンインストールし、GPUバージョンをインストールしました。pip install tensorflow-gpu==2.0.0. 上記で機能したTensorFlowのバージョンはいずれも正しく機能していませんでした(を介してkerasまたは他のパッケージをインポートできませんでしたfrom tensorflow.package_X import Y)。 TensorFlowをバージョン2.0.0.b1に戻した場合、kerasはパッケージとして利用でき(PyCharmはそれを認識します)、すべてがスムーズに実行されます。 この問題を解決する方法はありますか?インストールプロセスを間違えていませんか? 更新--- Pythonコンソールからのインポートが機能し、エラーなしでインポートできます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.