variance_scaling_initializer 수정, 텐서보드 그래프 분리, keras mnist 적용
This commit is contained in:
@@ -163,7 +163,7 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"he_init = tf.contrib.layers.variance_scaling_initializer()\n",
|
||||
"he_init = tf.variance_scaling_initializer()\n",
|
||||
"\n",
|
||||
"def dnn(inputs, n_hidden_layers=5, n_neurons=100, name=None,\n",
|
||||
" activation=tf.nn.elu, initializer=he_init):\n",
|
||||
@@ -189,7 +189,7 @@
|
||||
"reset_graph()\n",
|
||||
"\n",
|
||||
"X = tf.placeholder(tf.float32, shape=(None, n_inputs), name=\"X\")\n",
|
||||
"y = tf.placeholder(tf.int64, shape=(None), name=\"y\")\n",
|
||||
"y = tf.placeholder(tf.int32, shape=(None), name=\"y\")\n",
|
||||
"\n",
|
||||
"dnn_outputs = dnn(X)\n",
|
||||
"\n",
|
||||
@@ -246,6 +246,13 @@
|
||||
"MNIST 데이터셋을 로드합니다:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"주의: `tf.examples.tutorials.mnist`은 삭제될 예정이므로 대신 `tf.keras.datasets.mnist`를 사용하겠습니다."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
@@ -263,10 +270,13 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from tensorflow.examples.tutorials.mnist import input_data\n",
|
||||
"tf.logging.set_verbosity(tf.logging.ERROR) # deprecated 경고 메세지를 출력하지 않기 위해 \n",
|
||||
"mnist = input_data.read_data_sets(\"/tmp/data/\")\n",
|
||||
"tf.logging.set_verbosity(tf.logging.INFO)"
|
||||
"(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()\n",
|
||||
"X_train = X_train.astype(np.float32).reshape(-1, 28*28) / 255.0\n",
|
||||
"X_test = X_test.astype(np.float32).reshape(-1, 28*28) / 255.0\n",
|
||||
"y_train = y_train.astype(np.int32)\n",
|
||||
"y_test = y_test.astype(np.int32)\n",
|
||||
"X_valid, X_train = X_train[:5000], X_train[5000:]\n",
|
||||
"y_valid, y_train = y_train[:5000], y_train[5000:]"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -282,12 +292,12 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"X_train1 = mnist.train.images[mnist.train.labels < 5]\n",
|
||||
"y_train1 = mnist.train.labels[mnist.train.labels < 5]\n",
|
||||
"X_valid1 = mnist.validation.images[mnist.validation.labels < 5]\n",
|
||||
"y_valid1 = mnist.validation.labels[mnist.validation.labels < 5]\n",
|
||||
"X_test1 = mnist.test.images[mnist.test.labels < 5]\n",
|
||||
"y_test1 = mnist.test.labels[mnist.test.labels < 5]"
|
||||
"X_train1 = X_train[y_train < 5]\n",
|
||||
"y_train1 = y_train[y_train < 5]\n",
|
||||
"X_valid1 = X_valid[y_valid < 5]\n",
|
||||
"y_valid1 = y_valid[y_valid < 5]\n",
|
||||
"X_test1 = X_test[y_test < 5]\n",
|
||||
"y_test1 = y_test[y_test < 5]"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -20536,12 +20546,12 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"X_train2_full = mnist.train.images[mnist.train.labels >= 5]\n",
|
||||
"y_train2_full = mnist.train.labels[mnist.train.labels >= 5] - 5\n",
|
||||
"X_valid2_full = mnist.validation.images[mnist.validation.labels >= 5]\n",
|
||||
"y_valid2_full = mnist.validation.labels[mnist.validation.labels >= 5] - 5\n",
|
||||
"X_test2 = mnist.test.images[mnist.test.labels >= 5]\n",
|
||||
"y_test2 = mnist.test.labels[mnist.test.labels >= 5] - 5"
|
||||
"X_train2_full = X_train[y_train >= 5]\n",
|
||||
"y_train2_full = y_train[y_train >= 5] - 5\n",
|
||||
"X_valid2_full = X_valid[y_valid >= 5]\n",
|
||||
"y_valid2_full = y_valid[y_valid >= 5] - 5\n",
|
||||
"X_test2 = X_test[y_test >= 5]\n",
|
||||
"y_test2 = y_test[y_test >= 5] - 5"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -21577,14 +21587,14 @@
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"X_train1 = mnist.train.images\n",
|
||||
"y_train1 = mnist.train.labels\n",
|
||||
"X_train1 = X_train\n",
|
||||
"y_train1 = y_train\n",
|
||||
"\n",
|
||||
"X_train2 = mnist.validation.images\n",
|
||||
"y_train2 = mnist.validation.labels\n",
|
||||
"X_train2 = X_valid\n",
|
||||
"y_train2 = y_valid\n",
|
||||
"\n",
|
||||
"X_test = mnist.test.images\n",
|
||||
"y_test = mnist.test.labels"
|
||||
"X_test = X_test\n",
|
||||
"y_test = y_test"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -21907,7 +21917,7 @@
|
||||
"with tf.Session() as sess:\n",
|
||||
" init.run()\n",
|
||||
" for epoch in range(n_epochs):\n",
|
||||
" for iteration in range(mnist.train.num_examples // batch_size):\n",
|
||||
" for iteration in range(len(X_train1) // batch_size):\n",
|
||||
" X_batch, y_batch = generate_batch(X_train1, y_train1, batch_size)\n",
|
||||
" loss_val, _ = sess.run([loss, training_op], feed_dict={X: X_batch, y: y_batch})\n",
|
||||
" print(epoch, \"훈련 손실:\", loss_val)\n",
|
||||
@@ -22142,7 +22152,7 @@
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.5.5"
|
||||
"version": "3.6.5"
|
||||
},
|
||||
"nav_menu": {
|
||||
"height": "360px",
|
||||
|
||||
Reference in New Issue
Block a user