いろいろなサイトを見ても `placeholder` と `session`
の機能がよくわからなかったため、tensorflow2.0では直接コードを書けばいいと言われてもどうやって書けばいいのかわかりません。  
説明だけではなくコードも例を用いて一緒に教えて欲しいです。  
あとこの二つ以外にもtensorflowのアップデートで消えた機能を教えて欲しいです、お願いします。  
tensorflowをダウングレードしたり以前の機能を引き継いだりするといったことはしたくありません。
CC BY-SA 4.0
2022-09-15T13:44:50.213
91122
2022-09-15T16:57:27.920
2022-09-15T16:57:27.920
3060
43775
question
python python3 tensorflow
tensorflow2.0で廃止された placeholder と session について詳しく教えてください
私自身は TensorFlow を使ったことがないので今回少し調べた程度になります。

* * *

[Tensorflow 2で1系記法のCNNを動かす方法 -
Qiita](https://qiita.com/rawHam/items/626d9b119cbefcee1452)
で紹介されている、以下のガイドが参考になりそうです。

[TensorFlow 1 のコードを TensorFlow 2 に移行する | TensorFlow
Core](https://www.tensorflow.org/guide/migrate)

### 方法1

> TensorFlow 2.x で 1.x のコードを未修正で実行することは、（contrib を除き）依然として可能です。
```

>     import tensorflow.compat.v1 as tf tf.disable_v2_behavior()
>  
```

>
> しかし、これでは TensorFlow 2.0
> で追加された改善の多くを活用できません。このガイドでは、コードのアップグレード、さらなる単純化、パフォーマンス向上、そしてより容易なメンテナンスについて説明します。

既存コードの以下 `import` 文を、上記の記述に置き換えるという事のようです。

```

    import tensorflow as tf
    
```

### 方法2

もしくは、前述の Qiita の記事に書かれている通り、既存コードの記述を `tf.compat.v1.*` の記述に変更する方法もあるようです。

> コード内の '1系' の列に該当するAPIを '2系' にある記載の通りに変更する。

# | 1.x 系 | 2.x 系  
---|---|---  
1 | tf.placeholder | tf **.compat.v1**.placeholder  
2 | tf.Session() | tf **.compat.v1**.Session()  
  
他にも自動移行スクリプトなども用意されているようなので、[TensorFlow
のガイド](https://www.tensorflow.org/guide/migrate) に目を通してみてください。
CC BY-SA 4.0
2022-09-15T16:55:09.100
91123
2022-09-15T16:55:09.100
3060
91122
answer