61341


tensorflowでスパーステンソルのプレースホルダーに関して以下のように定義しました

[code]

    ph = {
        'adj_norm': tf.sparse_placeholder(tf.float32, name="adj_mat"),
        'x': tf.sparse_placeholder(tf.float32, name="x")}
    
[/code]

しかし，以下のようなエラーが出ます．

> 'adj_norm': tf.sparse_placeholder(tf.float32, name="adj_mat"),  
>  AttributeError: module 'tensorflow' has no attribute 'sparse_placeholder'

色々調べた結果，tensorflowのバージョンの違いが原因と考えられるのですが，そういう場合はどうすればこのエラーを解決することができますか？  
こちらのtensorflowとpythonのバージョンは`tensorflow=2.0.0`,`python=3.6.1`です．


CC BY-SA 4.0
2019-12-11T06:03:08.273
61337
2019-12-11T08:46:15.147
36856
question
python python3 機械学習 tensorflow
tensorflowのsparse_placeholderのAttributeError


TensorFlow 1のコードをTensorFlow 2で動かしてエラーになっているので、以下のいずれかで解決すると思います。

  * TensorFlow 2の文法で書き直す
  * TensorFlow 1互換モードで動かす
  * TensorFlow 1にダウングレードする

参考）  
<https://www.tensorflow.org/guide/migrate>

簡単そうなところで、

[code]

    import tensorflow as tf
    
[/code]

を

[code]

    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    
[/code]

に変えてみたら、動作しませんかね？


CC BY-SA 4.0
2019-12-11T08:41:03.350
61341
2019-12-11T08:46:15.147
2019-12-11T08:46:15.147
21092
21092
61337
answer