Skip to content

Instantly share code, notes, and snippets.

@ecjang
Created February 11, 2018 10:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ecjang/6f225a2d7d9066e6a73be58b6ffc7f40 to your computer and use it in GitHub Desktop.
Save ecjang/6f225a2d7d9066e6a73be58b6ffc7f40 to your computer and use it in GitHub Desktop.
005. Loading Data
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- `10. ML lab 04-2 TensorFlow로 파일에서 데이타 읽어오기 (new)`"
]
},
{
"cell_type": "code",
"execution_count": 180,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 181,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x_data.shape : (25, 3) / x_data_length : 25 / Print 3 lines : [93. 88. 93.] [89. 91. 90.] [ 96. 98. 100.]\n",
"y_data.shape : (25, 1) / y_data_length : 25 / Print 3 lines : [185.] [180.] [196.]\n"
]
}
],
"source": [
"xy = np.loadtxt(fname='Data/data-01-test-score.csv', delimiter=',', dtype=np.float32)\n",
"x_data = xy[:, 0:-1 ] # 1~3rd Column\n",
"y_data = xy[:, [-1]] # 4th Column\n",
"\n",
"# Make sure the shape and data are OK\n",
"print(\"x_data.shape : \", x_data.shape, ' / x_data_length : ', len(x_data), ' / Print 3 lines : ' ,x_data[1], x_data[2] , x_data[3])\n",
"print(\"y_data.shape : \", y_data.shape, ' / y_data_length : ', len(y_data), ' / Print 3 lines : ' ,y_data[1], y_data[2] , y_data[3])"
]
},
{
"cell_type": "code",
"execution_count": 182,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"tf.set_random_seed(777) # for Reproducibility\n",
"\n",
"# Placeholder for a tensor the will be always fed.\n",
"X = tf.placeholder(tf.float32, shape=[None, 3]) # Inserts a placeholder for a tensor that will be always fed.\n",
"Y = tf.placeholder(tf.float32, shape=[None, 1])\n",
"\n",
"W = tf.Variable(tf.random_normal([3, 1]), name='weight')\n",
"b = tf.Variable(tf.random_normal([1]), name='bias')"
]
},
{
"cell_type": "code",
"execution_count": 183,
"metadata": {},
"outputs": [],
"source": [
"# Hypothesis\n",
"hypothesis = tf.matmul(X, W) + b # Multiplies matrix `a` by matrix `b`, producing `a` * `b`.\n",
"\n",
"# Simplified cost/Loss function\n",
"cost = tf.reduce_mean(tf.square(hypothesis - Y))\n",
"\n",
"# Minimize \n",
"optimizer = tf.train.GradientDescentOptimizer(learning_rate=1e-5)\n",
"train = optimizer.minimize(cost)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-----"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- 설정해준 함수를 통해 훈련"
]
},
{
"cell_type": "code",
"execution_count": 166,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x1b32f048>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x1ab7d048>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<matplotlib.figure.Figure at 0x1af6b320>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\npK52gq/WVAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1a933f98>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Lunch the graph in a session\n",
"sess = tf.Session()\n",
"\n",
"# Initializes global varibles in the grph.\n",
"sess.run(tf.global_variables_initializer())\n",
"\n",
"# Matplotlib Setting\n",
"plt.figure(figsize=(18,5))\n",
"plt.title('Cost Value per Step')\n",
"cost_list = []\n",
"\n",
"# Set up feed dict variabels inside the loop.\n",
"for step in range(3000):\n",
" cost_val, hy_val, _ = sess.run( \n",
" [cost, hypothesis, train], feed_dict={X:x_data, Y:y_data})\n",
" if step % 10 == 0 and step is not 0:\n",
" cost_list.append(cost_val)\n",
"# print(step,\":\",cost_val, end=\" / \")\n",
"\n",
"plt.plot(cost_list, label='Cost')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- 훈련된 모델을 가지고 테스트"
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Your score will be 200.80215\n",
"Other score will be 172.50545 / 172.18181\n"
]
}
],
"source": [
"# Ask my, other Score\n",
"you = sess.run(hypothesis, feed_dict={X: [[100, 70, 101]]})\n",
"other = sess.run(hypothesis, feed_dict={X: [[60, 70, 110], [90, 100, 80]]})\n",
"\n",
"print(\"Your score will be \", you[0][0])\n",
"print(\"Other score will be \",other[0][0], \" / \", other[1][0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Queue Runers : 여러개의 데이터를 불러올 경우 사용."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img width='80%' align='left' src='img/queue_runers.png'>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. 불러온 여러개의 데이터를 Queue 에 쌓는다.\n",
"2. Queue를 Reader와 연결한다. 데이터 양식에 맞게 Decoder 작업을 실행.\n",
"3. 그리고 데이터 훈련"
]
},
{
"cell_type": "code",
"execution_count": 184,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" train_x_batch : Tensor(\"batch_7:0\", shape=(10, 3), dtype=float32)\n",
" train_y_batch : Tensor(\"batch_7:1\", shape=(10, 1), dtype=float32)\n"
]
}
],
"source": [
"import tensorflow as tf\n",
"filename_queue = tf.train.string_input_producer(['Data/data-01-test-score.csv'], shuffle=False, name='filename_queue')\n",
"\n",
"reader = tf.TextLineReader()\n",
"key, value = reader.read(filename_queue)\n",
"\n",
"# Defulat values, in case of empty column. Also specifies the type of the decorde result.\n",
"record_defaults= [[0.], [0.], [0.], [0.]]\n",
"xy = tf.decode_csv(value, record_defaults=record_defaults)\n",
"\n",
"# Collect batches of csv in\n",
"train_x_batch, train_y_batch = tf.train.batch([xy[0:-1], xy[-1:]], batch_size=10)\n",
"print(\" train_x_batch : \", train_x_batch)\n",
"print(\" train_y_batch : \", train_y_batch)\n",
"#placeholder for a tensor that will be always fed.\n",
"X = tf.placeholder(tf.float32, shape=[None, 3])\n",
"Y = tf.placeholder(tf.float32, shape=[None, 1])\n",
"W = tf.Variable(tf.random_normal([3, 1]), name='weight')\n",
"b = tf.Variable(tf.random_normal([1]), name='bias')\n",
"\n",
"# Hypothesis\n",
"hypothesis = tf.matmul(X, W) + b\n",
"\n",
"# Simplified cost/loss function\n",
"cost = tf.reduce_mean(tf.square(hypothesis - Y))\n",
"\n",
"# Minimize\n",
"optimizer = tf.train.GradientDescentOptimizer(learning_rate=1e-5)\n",
"train = optimizer.minimize(cost)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"----"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [
{
"ename": "FailedPreconditionError",
"evalue": "Attempting to use uninitialized value weight_15\n\t [[Node: weight_15/read = Identity[T=DT_FLOAT, _class=[\"loc:@weight_15\"], _device=\"/job:localhost/replica:0/task:0/device:CPU:0\"](weight_15)]]\n\nCaused by op 'weight_15/read', defined at:\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\runpy.py\", line 193, in _run_module_as_main\n \"__main__\", mod_spec)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n app.launch_new_instance()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n app.start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 477, in start\n ioloop.IOLoop.instance().start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\ioloop.py\", line 177, in start\n super(ZMQIOLoop, self).start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\ioloop.py\", line 888, in start\n handler_func(fd_obj, events)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\stack_context.py\", line 277, in null_wrapper\n return fn(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 440, in _handle_events\n self._handle_recv()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 472, in _handle_recv\n self._run_callback(callback, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 414, in _run_callback\n callback(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\stack_context.py\", line 277, in null_wrapper\n return fn(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 283, in dispatcher\n return self.dispatch_shell(stream, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 235, in dispatch_shell\n handler(stream, idents, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 399, in execute_request\n user_expressions, allow_stdin)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 196, in do_execute\n res = shell.run_cell(code, store_history=store_history, silent=silent)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 533, in run_cell\n return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2698, in run_cell\n interactivity=interactivity, compiler=compiler, result=result)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2802, in run_ast_nodes\n if self.run_code(code, result):\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2862, in run_code\n exec(code_obj, self.user_global_ns, self.user_ns)\n File \"<ipython-input-184-bf4ea4a02bc8>\", line 18, in <module>\n W = tf.Variable(tf.random_normal([3, 1]), name='weight')\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\variables.py\", line 213, in __init__\n constraint=constraint)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\variables.py\", line 356, in _init_from_args\n self._snapshot = array_ops.identity(self._variable, name=\"read\")\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\array_ops.py\", line 125, in identity\n return gen_array_ops.identity(input, name=name)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\gen_array_ops.py\", line 2070, in identity\n \"Identity\", input=input, name=name)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\op_def_library.py\", line 787, in _apply_op_helper\n op_def=op_def)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py\", line 2956, in create_op\n op_def=op_def)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py\", line 1470, in __init__\n self._traceback = self._graph._extract_stack() # pylint: disable=protected-access\n\nFailedPreconditionError (see above for traceback): Attempting to use uninitialized value weight_15\n\t [[Node: weight_15/read = Identity[T=DT_FLOAT, _class=[\"loc:@weight_15\"], _device=\"/job:localhost/replica:0/task:0/device:CPU:0\"](weight_15)]]\n",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mFailedPreconditionError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_do_call\u001b[1;34m(self, fn, *args)\u001b[0m\n\u001b[0;32m 1322\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1323\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1324\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mOpError\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_run_fn\u001b[1;34m(session, feed_dict, fetch_list, target_list, options, run_metadata)\u001b[0m\n\u001b[0;32m 1301\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetch_list\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtarget_list\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1302\u001b[1;33m status, run_metadata)\n\u001b[0m\u001b[0;32m 1303\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\errors_impl.py\u001b[0m in \u001b[0;36m__exit__\u001b[1;34m(self, type_arg, value_arg, traceback_arg)\u001b[0m\n\u001b[0;32m 472\u001b[0m \u001b[0mcompat\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mas_text\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mc_api\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTF_Message\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstatus\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 473\u001b[1;33m c_api.TF_GetCode(self.status.status))\n\u001b[0m\u001b[0;32m 474\u001b[0m \u001b[1;31m# Delete the underlying status object from memory otherwise it stays alive\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mFailedPreconditionError\u001b[0m: Attempting to use uninitialized value weight_15\n\t [[Node: weight_15/read = Identity[T=DT_FLOAT, _class=[\"loc:@weight_15\"], _device=\"/job:localhost/replica:0/task:0/device:CPU:0\"](weight_15)]]",
"\nDuring handling of the above exception, another exception occurred:\n",
"\u001b[1;31mFailedPreconditionError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-185-0fb441b4ac5a>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 14\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mstep\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m20\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[0mx_batch\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_batch\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msess\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mtrain_x_batch\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtrain_y_batch\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 16\u001b[1;33m \u001b[0mcost_val\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhy_val\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0msess\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mcost\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhypothesis\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtrain\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeed_dict\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m{\u001b[0m\u001b[0mX\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mx_batch\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mY\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0my_batch\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 17\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 18\u001b[0m \u001b[1;31m# if step % 10 == 0:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36mrun\u001b[1;34m(self, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m 887\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 888\u001b[0m result = self._run(None, fetches, feed_dict, options_ptr,\n\u001b[1;32m--> 889\u001b[1;33m run_metadata_ptr)\n\u001b[0m\u001b[0;32m 890\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mrun_metadata\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 891\u001b[0m \u001b[0mproto_data\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtf_session\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTF_GetBuffer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrun_metadata_ptr\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_run\u001b[1;34m(self, handle, fetches, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m 1118\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mfinal_fetches\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mfinal_targets\u001b[0m \u001b[1;32mor\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mhandle\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mfeed_dict_tensor\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1119\u001b[0m results = self._do_run(handle, final_targets, final_fetches,\n\u001b[1;32m-> 1120\u001b[1;33m feed_dict_tensor, options, run_metadata)\n\u001b[0m\u001b[0;32m 1121\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1122\u001b[0m \u001b[0mresults\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_do_run\u001b[1;34m(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)\u001b[0m\n\u001b[0;32m 1315\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mhandle\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1316\u001b[0m return self._do_call(_run_fn, self._session, feeds, fetches, targets,\n\u001b[1;32m-> 1317\u001b[1;33m options, run_metadata)\n\u001b[0m\u001b[0;32m 1318\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1319\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_do_call\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_prun_fn\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_session\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mhandle\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfeeds\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfetches\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mC:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\client\\session.py\u001b[0m in \u001b[0;36m_do_call\u001b[1;34m(self, fn, *args)\u001b[0m\n\u001b[0;32m 1334\u001b[0m \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1335\u001b[0m \u001b[1;32mpass\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1336\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnode_def\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mop\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmessage\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1337\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1338\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0m_extend_graph\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mFailedPreconditionError\u001b[0m: Attempting to use uninitialized value weight_15\n\t [[Node: weight_15/read = Identity[T=DT_FLOAT, _class=[\"loc:@weight_15\"], _device=\"/job:localhost/replica:0/task:0/device:CPU:0\"](weight_15)]]\n\nCaused by op 'weight_15/read', defined at:\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\runpy.py\", line 193, in _run_module_as_main\n \"__main__\", mod_spec)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\runpy.py\", line 85, in _run_code\n exec(code, run_globals)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel_launcher.py\", line 16, in <module>\n app.launch_new_instance()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\traitlets\\config\\application.py\", line 658, in launch_instance\n app.start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelapp.py\", line 477, in start\n ioloop.IOLoop.instance().start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\ioloop.py\", line 177, in start\n super(ZMQIOLoop, self).start()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\ioloop.py\", line 888, in start\n handler_func(fd_obj, events)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\stack_context.py\", line 277, in null_wrapper\n return fn(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 440, in _handle_events\n self._handle_recv()\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 472, in _handle_recv\n self._run_callback(callback, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\zmq\\eventloop\\zmqstream.py\", line 414, in _run_callback\n callback(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tornado\\stack_context.py\", line 277, in null_wrapper\n return fn(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 283, in dispatcher\n return self.dispatch_shell(stream, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 235, in dispatch_shell\n handler(stream, idents, msg)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\kernelbase.py\", line 399, in execute_request\n user_expressions, allow_stdin)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\ipkernel.py\", line 196, in do_execute\n res = shell.run_cell(code, store_history=store_history, silent=silent)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\ipykernel\\zmqshell.py\", line 533, in run_cell\n return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2698, in run_cell\n interactivity=interactivity, compiler=compiler, result=result)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2802, in run_ast_nodes\n if self.run_code(code, result):\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 2862, in run_code\n exec(code_obj, self.user_global_ns, self.user_ns)\n File \"<ipython-input-184-bf4ea4a02bc8>\", line 18, in <module>\n W = tf.Variable(tf.random_normal([3, 1]), name='weight')\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\variables.py\", line 213, in __init__\n constraint=constraint)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\variables.py\", line 356, in _init_from_args\n self._snapshot = array_ops.identity(self._variable, name=\"read\")\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\array_ops.py\", line 125, in identity\n return gen_array_ops.identity(input, name=name)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\ops\\gen_array_ops.py\", line 2070, in identity\n \"Identity\", input=input, name=name)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\op_def_library.py\", line 787, in _apply_op_helper\n op_def=op_def)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py\", line 2956, in create_op\n op_def=op_def)\n File \"C:\\ProgramData\\Anaconda3\\envs\\py35\\lib\\site-packages\\tensorflow\\python\\framework\\ops.py\", line 1470, in __init__\n self._traceback = self._graph._extract_stack() # pylint: disable=protected-access\n\nFailedPreconditionError (see above for traceback): Attempting to use uninitialized value weight_15\n\t [[Node: weight_15/read = Identity[T=DT_FLOAT, _class=[\"loc:@weight_15\"], _device=\"/job:localhost/replica:0/task:0/device:CPU:0\"](weight_15)]]\n"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Lunch the graph in a session.\n",
"sess = tf.Session()\n",
"\n",
"# Start population the filename queue.\n",
"coord = tf.train.Coordinator()\n",
"threads = tf.train.start_queue_runners(sess=sess, coord=coord)\n",
"\n",
"# # Matplotlib Setting\n",
"plt.figure(figsize=(18,5))\n",
"cost_list = []\n",
"\n",
"for step in range(20):\n",
" x_batch, y_batch = sess.run([train_x_batch, train_y_batch])\n",
" cost_val, hy_val, _ = sess.run([cost, hypothesis, train], feed_dict={X: x_batch, Y: y_batch})\n",
" \n",
" if step % 10 == 0:\n",
" print('step: ', step, \"Cost : \", cost_val)\n",
"# cost_list.appned(cost_val)\n",
"\n",
"# plt.plot(cost_val, label=\"cost\")\n",
"# plt.show()\n",
"\n",
"coord.request_stop()\n",
"coord.join(threads)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"-----"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "python3.5",
"language": "python",
"name": "python3.5"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment