前提・実現したいこと
jupyterlab内でtensorflowを動かそうとしたのですが
下記のエラーが出現したのですが解決方法が分かりません。
2年前にコードを参考に(といいますかコピー)したのですが
今のバージョンではプレースホルダーという機能は存在しないということなのでしょうか。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) <ipython-input-8-61647486ec84> in <module> 4 # 変数の定義 5 dim = 5 ----> 6 x = tf.placeholder(tf.float32, [None, dim + 1]) 7 w = tf.Variable(tf.zeros([dim+1,1])) 8 y = tf.matmul(x,w) AttributeError: module 'tensorflow' has no attribute 'placeholder'
該当のソースコード
python
1import tensorflow as tf 2import numpy as np 3 4# 変数の定義 5dim = 5 6x = tf.placeholder(tf.float32, [None, dim + 1]) 7w = tf.Variable(tf.zeros([dim+1,1])) 8y = tf.matmul(x,w) 9t = tf.placeholder(tf.float32, [None, 1]) 10sess = tf.Session() 11 12# 損失関数と学習メソッドの定義 13loss = tf.reduce_sum(tf.square(y - t)) 14train_step = tf.train.AdamOptimizer().minimize(loss) 15 16# セッションの初期化と入力データの準備 17sess.run(tf.global_variables_initializer()) 18 19train_t = np.array([5.2, 5.7, 8.6, 14.9, 18.2, 20.4,25.5, 26.4, 22.8, 17.5, 11.1, 6.6]) 20train_t = train_t.reshape([12,1]) 21train_x = np.zeros([12, dim+1]) 22for row, month in enumerate(range(1, 13)): 23 for col, n in enumerate(range(0, dim+1)): 24 train_x[row][col] = month**n 25 26# 学習 27 28i = 0 29for _ in range(100000): 30 i += 1 31 sess.run(train_step, feed_dict={x: train_x, t: train_t}) 32 if i % 10000 == 0: 33 loss_val = sess.run(loss, feed_dict={x: train_x, t: train_t}) 34 print('Step: %d, Loss: %f' % (i, loss_val))
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。