TensorBoardの使い方が若干変わっている件

# 概要
今更ですが、ちょっとTensorBoardを動かしてみました。その際に、[TensorBoardの最も基本的な使い方](https://qiita.com/uosansatox/items/b552c9c4d8f1cebbf044)というページが非常に参考になりました。サンプルが非常にシンプルで、簡単に試してみることができるのがもっとも良い点でした。

ただ、コメントにもあるようにバージョンが違うと色々と違いがあるようで、最新環境で動かしてみたという内容です。
ですので、大元のページをご覧になった上で、こちらも参考に見ていただければと思いますが、基本は大元のページのコピペに過ぎないので、こちらを参考にする必要もないかもしれません。
再掲：[TensorBoardの最も基本的な使い方](https://qiita.com/uosansatox/items/b552c9c4d8f1cebbf044)

# 環境
```bash

$ pip list | grep tens
tensorboard          1.14.0
tensorflow           1.14.0
tensorflow-estimator 1.14.0

と、
tensorboard          2.0.1
tensorflow           2.0.0
tensorflow-estimator 2.0.1

```

#v1系 （1.14） 

```python
# 必要なライブラリのインポート
import tensorflow as tf
import numpy as np

# 変数の定義
dim = 5
LOGDIR = './logs'
x = tf.compat.v1.placeholder(tf.float32, [None, dim + 1], name='X')
w = tf.Variable(tf.zeros([dim+1,1]), name='weight')
y = tf.matmul(x,w, name='Y')
t = tf.compat.v1.placeholder(tf.float32, [None, 1], name='TEST')
sess = tf.compat.v1.Session()

# 損失関数と学習メソッドの定義
loss = tf.reduce_sum(tf.square(y - t))
train_step = tf.compat.v1.train.AdamOptimizer().minimize(loss)

# TensorBoardで追跡する変数を定義
with tf.name_scope('summary'):
	# 戻りを利用する
	loss_summary = tf.compat.v1.summary.scalar('loss', loss)
	if tf.io.gfile.exists(LOGDIR):
		tf.io.gfile.rmtree(LOGDIR) # ./logdirが存在する場合削除
	writer = tf.compat.v1.summary.FileWriter(LOGDIR, sess.graph)

# セッションの初期化と入力データの準備
sess.run(tf.compat.v1.global_variables_initializer())

train_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])
train_t = train_t.reshape([12,1])
train_x = np.zeros([12, dim+1])
for row, month in enumerate(range(1, 13)):
	for col, n in enumerate(range(0, dim+1)):
		train_x[row][col] = month**n

# 学習

i = 0
for _ in range(100000):
	i += 1
	sess.run(train_step, feed_dict={x: train_x, t: train_t})
	if i % 10000 == 0:
		# 上記で取得したloss_summeryを渡す
		s, loss_val = sess.run([loss_summary, loss] , feed_dict={x: train_x, t: train_t})
		print('Step: %d, Loss: %f' % (i, loss_val))
		# これによりSCALARSが出力される
		writer.add_summary(s, global_step=i)

```
- GRAPHSの画像
![GRAPHS](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16828/5e57a09c-80f6-414b-e684-a2adb205e1f3.png)

nameで名前をつけておくと、わかりやすくなります。

- SCALARSのグラフ
<img width="669" alt="SCALARSのグラフ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16828/74197db8-bc04-2307-8f41-7335f4b3f4dc.png">

ちなみに、以下のような感じにすると、既存のコードをあまり変更しなくても済むっぽいです。
tensorflowのドキュメントに記載があるから、これが適切な記述方法かな。

```python
import tensorflow.compat.v1 as tf
```

#v2系 （2.00） 

というわけで、こちらは書き方を変えてみる。
また、v2のポイントとしては、Variableの書き方が変わった点でしょうか。
あと、良くわからないのが、EagerTensorsの部分でしょうか。とりあえず、sessionをwithで指定して見た。

```python

# 必要なライブラリのインポート
import tensorflow.compat.v1 as tf
import numpy as np

# 変数の定義
dim = 5
LOGDIR = './logs'
with tf.Session() as sess:
	x = tf.placeholder(tf.float32, [None, dim + 1], name='X')
	with tf.variable_scope('weight'):
		w = tf.get_variable("weight", shape=[dim+1,1], initializer=tf.zeros_initializer())
	y = tf.matmul(x,w, name='Y')
	t = tf.placeholder(tf.float32, [None, 1], name='TEST')

	# 損失関数と学習メソッドの定義
	loss = tf.reduce_sum(tf.square(y - t))
	train_step = tf.train.AdamOptimizer().minimize(loss)

	# TensorBoardで追跡する変数を定義
	with tf.name_scope('summary'):
		loss_summary = tf.summary.scalar('loss', loss)
		if tf.io.gfile.exists(LOGDIR):
			tf.io.gfile.rmtree(LOGDIR) # ./logdirが存在する場合削除
		writer = tf.summary.FileWriter(LOGDIR, sess.graph)

	# セッションの初期化と入力データの準備
	sess.run(tf.global_variables_initializer())

	train_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])
	train_t = train_t.reshape([12,1])
	train_x = np.zeros([12, dim+1])
	for row, month in enumerate(range(1, 13)):
		for col, n in enumerate(range(0, dim+1)):
			train_x[row][col] = month**n

	# 学習

	i = 0
	for _ in range(100000):
		i += 1
		sess.run(train_step, feed_dict={x: train_x, t: train_t})
		if i % 10000 == 0:
			s, loss_val = sess.run([loss_summary, loss] , feed_dict={x: train_x, t: train_t})
			print('Step: %d, Loss: %f' % (i, loss_val))
			writer.add_summary(s, global_step=i)

```

- SCALARSのグラフ

Yの部分が違っているようです。

<img width="387" alt="SCALARSのグラフ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/16828/c7b5495e-9639-b8a9-e313-63f0bb4206f6.png">