Skip to content

Instantly share code, notes, and snippets.

@ishuca
Created May 2, 2017 10:21
Show Gist options
  • Select an option

  • Save ishuca/0c98fd525fadde1b011c16f08c46e1e2 to your computer and use it in GitHub Desktop.

Select an option

Save ishuca/0c98fd525fadde1b011c16f08c46e1e2 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[step: 0] loss: 96.20306396484375\n",
"[step: 1] loss: 65.95781707763672\n",
"[step: 2] loss: 41.99796676635742\n",
"[step: 3] loss: 24.588903427124023\n",
"[step: 4] loss: 14.321139335632324\n",
"[step: 5] loss: 11.599745750427246\n",
"[step: 6] loss: 15.113511085510254\n",
"[step: 7] loss: 19.868745803833008\n",
"[step: 8] loss: 21.016616821289062\n",
"[step: 9] loss: 18.40372657775879\n",
"[step: 10] loss: 14.175395965576172\n",
"[step: 11] loss: 10.223226547241211\n",
"[step: 12] loss: 7.484259128570557\n",
"[step: 13] loss: 6.092924118041992\n",
"[step: 14] loss: 5.7471160888671875\n",
"[step: 15] loss: 6.010662078857422\n",
"[step: 16] loss: 6.482880115509033\n",
"[step: 17] loss: 6.864833831787109\n",
"[step: 18] loss: 6.969938278198242\n",
"[step: 19] loss: 6.712599754333496\n",
"[step: 20] loss: 6.091806888580322\n",
"[step: 21] loss: 5.175644397735596\n",
"[step: 22] loss: 4.087038516998291\n",
"[step: 23] loss: 2.9879674911499023\n",
"[step: 24] loss: 2.0572750568389893\n",
"[step: 25] loss: 1.4562102556228638\n",
"[step: 26] loss: 1.2788326740264893\n",
"[step: 27] loss: 1.4970746040344238\n",
"[step: 28] loss: 1.9347703456878662\n",
"[step: 29] loss: 2.320504903793335\n",
"[step: 30] loss: 2.4257192611694336\n",
"[step: 31] loss: 2.1962857246398926\n",
"[step: 32] loss: 1.7643362283706665\n",
"[step: 33] loss: 1.3412443399429321\n",
"[step: 34] loss: 1.0909199714660645\n",
"[step: 35] loss: 1.0648552179336548\n",
"[step: 36] loss: 1.2110029458999634\n",
"[step: 37] loss: 1.4239541292190552\n",
"[step: 38] loss: 1.599024772644043\n",
"[step: 39] loss: 1.668639898300171\n",
"[step: 40] loss: 1.615956425666809\n",
"[step: 41] loss: 1.4697675704956055\n",
"[step: 42] loss: 1.2872258424758911\n",
"[step: 43] loss: 1.1306687593460083\n",
"[step: 44] loss: 1.0447449684143066\n",
"[step: 45] loss: 1.0407142639160156\n",
"[step: 46] loss: 1.094437837600708\n",
"[step: 47] loss: 1.160307765007019\n",
"[step: 48] loss: 1.1950370073318481\n",
"[step: 49] loss: 1.1782927513122559\n",
"[step: 50] loss: 1.118729829788208\n",
"[step: 51] loss: 1.0441089868545532\n",
"[step: 52] loss: 0.984055757522583\n",
"[step: 53] loss: 0.9562195539474487\n",
"[step: 54] loss: 0.9615488648414612\n",
"[step: 55] loss: 0.9879915714263916\n",
"[step: 56] loss: 1.0183757543563843\n",
"[step: 57] loss: 1.0380945205688477\n",
"[step: 58] loss: 1.0398955345153809\n",
"[step: 59] loss: 1.024962306022644\n",
"[step: 60] loss: 1.000826358795166\n",
"[step: 61] loss: 0.9773974418640137\n",
"[step: 62] loss: 0.9627037048339844\n",
"[step: 63] loss: 0.9598796963691711\n",
"[step: 64] loss: 0.9664589762687683\n",
"[step: 65] loss: 0.9761455655097961\n",
"[step: 66] loss: 0.9821387529373169\n",
"[step: 67] loss: 0.9803595542907715\n",
"[step: 68] loss: 0.9710037112236023\n",
"[step: 69] loss: 0.9578303694725037\n",
"[step: 70] loss: 0.9458394646644592\n",
"[step: 71] loss: 0.9387387037277222\n",
"[step: 72] loss: 0.9374682307243347\n",
"[step: 73] loss: 0.9402811527252197\n",
"[step: 74] loss: 0.944034993648529\n",
"[step: 75] loss: 0.9458670020103455\n",
"[step: 76] loss: 0.944434642791748\n",
"[step: 77] loss: 0.9402541518211365\n",
"[step: 78] loss: 0.935135006904602\n",
"[step: 79] loss: 0.9311013221740723\n",
"[step: 80] loss: 0.9293644428253174\n",
"[step: 81] loss: 0.9298297762870789\n",
"[step: 82] loss: 0.9313191771507263\n",
"[step: 83] loss: 0.9323175549507141\n",
"[step: 84] loss: 0.9317938089370728\n",
"[step: 85] loss: 0.9296537041664124\n",
"[step: 86] loss: 0.9266335964202881\n",
"[step: 87] loss: 0.9237773418426514\n",
"[step: 88] loss: 0.9218494892120361\n",
"[step: 89] loss: 0.9209997057914734\n",
"[step: 90] loss: 0.9208075404167175\n",
"[step: 91] loss: 0.9206115007400513\n",
"[step: 92] loss: 0.9198943376541138\n",
"[step: 93] loss: 0.9185250401496887\n",
"[step: 94] loss: 0.9167558550834656\n",
"[step: 95] loss: 0.9150240421295166\n",
"[step: 96] loss: 0.9136908054351807\n",
"[step: 97] loss: 0.9128610491752625\n",
"[step: 98] loss: 0.912367582321167\n",
"[step: 99] loss: 0.91190105676651\n",
"[step: 100] loss: 0.9111963510513306\n",
"[step: 101] loss: 0.9101643562316895\n",
"[step: 102] loss: 0.9089075922966003\n",
"[step: 103] loss: 0.9076285362243652\n",
"[step: 104] loss: 0.906501293182373\n",
"[step: 105] loss: 0.9055817127227783\n",
"[step: 106] loss: 0.9047982096672058\n",
"[step: 107] loss: 0.904015302658081\n",
"[step: 108] loss: 0.9031195640563965\n",
"[step: 109] loss: 0.9020794630050659\n",
"[step: 110] loss: 0.9009500741958618\n",
"[step: 111] loss: 0.8998273611068726\n",
"[step: 112] loss: 0.8987891674041748\n",
"[step: 113] loss: 0.8978543281555176\n",
"[step: 114] loss: 0.8969827890396118\n",
"[step: 115] loss: 0.8961073756217957\n",
"[step: 116] loss: 0.8951771855354309\n",
"[step: 117] loss: 0.894182562828064\n",
"[step: 118] loss: 0.893153965473175\n",
"[step: 119] loss: 0.8921353220939636\n",
"[step: 120] loss: 0.8911563158035278\n",
"[step: 121] loss: 0.8902171850204468\n",
"[step: 122] loss: 0.88929283618927\n",
"[step: 123] loss: 0.8883528113365173\n",
"[step: 124] loss: 0.8873792886734009\n",
"[step: 125] loss: 0.8863756656646729\n",
"[step: 126] loss: 0.885360836982727\n",
"[step: 127] loss: 0.8843557834625244\n",
"[step: 128] loss: 0.8833708167076111\n",
"[step: 129] loss: 0.8824012279510498\n",
"[step: 130] loss: 0.8814336657524109\n",
"[step: 131] loss: 0.8804547190666199\n",
"[step: 132] loss: 0.8794605731964111\n",
"[step: 133] loss: 0.8784561157226562\n",
"[step: 134] loss: 0.8774514198303223\n",
"[step: 135] loss: 0.8764539957046509\n",
"[step: 136] loss: 0.875464677810669\n",
"[step: 137] loss: 0.8744783997535706\n",
"[step: 138] loss: 0.8734878301620483\n",
"[step: 139] loss: 0.8724889159202576\n",
"[step: 140] loss: 0.8714814186096191\n",
"[step: 141] loss: 0.8704696297645569\n",
"[step: 142] loss: 0.8694586753845215\n",
"[step: 143] loss: 0.8684502840042114\n",
"[step: 144] loss: 0.8674435019493103\n",
"[step: 145] loss: 0.8664350509643555\n",
"[step: 146] loss: 0.8654223084449768\n",
"[step: 147] loss: 0.8644047379493713\n",
"[step: 148] loss: 0.8633840084075928\n",
"[step: 149] loss: 0.8623622059822083\n",
"[step: 150] loss: 0.8613408803939819\n",
"[step: 151] loss: 0.860319972038269\n",
"[step: 152] loss: 0.8592979907989502\n",
"[step: 153] loss: 0.8582735061645508\n",
"[step: 154] loss: 0.857245922088623\n",
"[step: 155] loss: 0.8562150597572327\n",
"[step: 156] loss: 0.8551825881004333\n",
"[step: 157] loss: 0.8541492819786072\n",
"[step: 158] loss: 0.8531150817871094\n",
"[step: 159] loss: 0.8520798087120056\n",
"[step: 160] loss: 0.8510426878929138\n",
"[step: 161] loss: 0.8500028252601624\n",
"[step: 162] loss: 0.8489611148834229\n",
"[step: 163] loss: 0.847917377948761\n",
"[step: 164] loss: 0.8468725681304932\n",
"[step: 165] loss: 0.8458266854286194\n",
"[step: 166] loss: 0.8447796106338501\n",
"[step: 167] loss: 0.8437307476997375\n",
"[step: 168] loss: 0.8426799178123474\n",
"[step: 169] loss: 0.8416273593902588\n",
"[step: 170] loss: 0.8405730724334717\n",
"[step: 171] loss: 0.83951735496521\n",
"[step: 172] loss: 0.8384602665901184\n",
"[step: 173] loss: 0.8374019265174866\n",
"[step: 174] loss: 0.8363421559333801\n",
"[step: 175] loss: 0.8352805376052856\n",
"[step: 176] loss: 0.834217369556427\n",
"[step: 177] loss: 0.8331525921821594\n",
"[step: 178] loss: 0.8320865631103516\n",
"[step: 179] loss: 0.8310191035270691\n",
"[step: 180] loss: 0.8299504518508911\n",
"[step: 181] loss: 0.8288800716400146\n",
"[step: 182] loss: 0.8278083801269531\n",
"[step: 183] loss: 0.8267349600791931\n",
"[step: 184] loss: 0.8256603479385376\n",
"[step: 185] loss: 0.8245843052864075\n",
"[step: 186] loss: 0.8235070705413818\n",
"[step: 187] loss: 0.8224283456802368\n",
"[step: 188] loss: 0.8213483691215515\n",
"[step: 189] loss: 0.8202669620513916\n",
"[step: 190] loss: 0.8191844820976257\n",
"[step: 191] loss: 0.8181005120277405\n",
"[step: 192] loss: 0.8170151710510254\n",
"[step: 193] loss: 0.8159286975860596\n",
"[step: 194] loss: 0.8148411512374878\n",
"[step: 195] loss: 0.8137522339820862\n",
"[step: 196] loss: 0.81266188621521\n",
"[step: 197] loss: 0.8115705847740173\n",
"[step: 198] loss: 0.8104779124259949\n",
"[step: 199] loss: 0.8093842267990112\n",
"[step: 200] loss: 0.8082892894744873\n",
"[step: 201] loss: 0.8071931600570679\n",
"[step: 202] loss: 0.8060959577560425\n",
"[step: 203] loss: 0.8049975037574768\n",
"[step: 204] loss: 0.8038980960845947\n",
"[step: 205] loss: 0.8027975559234619\n",
"[step: 206] loss: 0.8016960024833679\n",
"[step: 207] loss: 0.8005932569503784\n",
"[step: 208] loss: 0.7994894981384277\n",
"[step: 209] loss: 0.7983847856521606\n",
"[step: 210] loss: 0.7972791194915771\n",
"[step: 211] loss: 0.7961723208427429\n",
"[step: 212] loss: 0.7950647473335266\n",
"[step: 213] loss: 0.7939558625221252\n",
"[step: 214] loss: 0.7928462624549866\n",
"[step: 215] loss: 0.7917356491088867\n",
"[step: 216] loss: 0.7906243801116943\n",
"[step: 217] loss: 0.7895119786262512\n",
"[step: 218] loss: 0.7883988618850708\n",
"[step: 219] loss: 0.787284791469574\n",
"[step: 220] loss: 0.786169707775116\n",
"[step: 221] loss: 0.785054087638855\n",
"[step: 222] loss: 0.7839375734329224\n",
"[step: 223] loss: 0.7828201651573181\n",
"[step: 224] loss: 0.7817021012306213\n",
"[step: 225] loss: 0.7805833220481873\n",
"[step: 226] loss: 0.7794637680053711\n",
"[step: 227] loss: 0.7783435583114624\n",
"[step: 228] loss: 0.7772226333618164\n",
"[step: 229] loss: 0.7761009335517883\n",
"[step: 230] loss: 0.774978756904602\n",
"[step: 231] loss: 0.7738557457923889\n",
"[step: 232] loss: 0.7727322578430176\n",
"[step: 233] loss: 0.7716082334518433\n",
"[step: 234] loss: 0.7704835534095764\n",
"[step: 235] loss: 0.7693583369255066\n",
"[step: 236] loss: 0.7682325839996338\n",
"[step: 237] loss: 0.7671064138412476\n",
"[step: 238] loss: 0.7659797072410583\n",
"[step: 239] loss: 0.7648524641990662\n",
"[step: 240] loss: 0.7637247443199158\n",
"[step: 241] loss: 0.762596845626831\n",
"[step: 242] loss: 0.7614682912826538\n",
"[step: 243] loss: 0.7603394389152527\n",
"[step: 244] loss: 0.7592102289199829\n",
"[step: 245] loss: 0.7580806612968445\n",
"[step: 246] loss: 0.7569509744644165\n",
"[step: 247] loss: 0.755820631980896\n",
"[step: 248] loss: 0.7546903491020203\n",
"[step: 249] loss: 0.7535597681999207\n",
"[step: 250] loss: 0.7524290084838867\n",
"[step: 251] loss: 0.7512979507446289\n",
"[step: 252] loss: 0.7501667737960815\n",
"[step: 253] loss: 0.7490352988243103\n",
"[step: 254] loss: 0.7479040026664734\n",
"[step: 255] loss: 0.7467723488807678\n",
"[step: 256] loss: 0.7456406950950623\n",
"[step: 257] loss: 0.7445089817047119\n",
"[step: 258] loss: 0.7433773279190063\n",
"[step: 259] loss: 0.7422456741333008\n",
"[step: 260] loss: 0.7411138415336609\n",
"[step: 261] loss: 0.7399823069572449\n",
"[step: 262] loss: 0.7388507723808289\n",
"[step: 263] loss: 0.7377193570137024\n",
"[step: 264] loss: 0.7365880012512207\n",
"[step: 265] loss: 0.7354568839073181\n",
"[step: 266] loss: 0.7343259453773499\n",
"[step: 267] loss: 0.7331952452659607\n",
"[step: 268] loss: 0.7320647835731506\n",
"[step: 269] loss: 0.7309345602989197\n",
"[step: 270] loss: 0.7298046946525574\n",
"[step: 271] loss: 0.728675127029419\n",
"[step: 272] loss: 0.7275459170341492\n",
"[step: 273] loss: 0.726417064666748\n",
"[step: 274] loss: 0.7252885699272156\n",
"[step: 275] loss: 0.7241606116294861\n",
"[step: 276] loss: 0.7230331897735596\n",
"[step: 277] loss: 0.7219061851501465\n",
"[step: 278] loss: 0.7207796573638916\n",
"[step: 279] loss: 0.7196537256240845\n",
"[step: 280] loss: 0.7185285091400146\n",
"[step: 281] loss: 0.7174038887023926\n",
"[step: 282] loss: 0.7162796854972839\n",
"[step: 283] loss: 0.7151564955711365\n",
"[step: 284] loss: 0.714033842086792\n",
"[step: 285] loss: 0.71291184425354\n",
"[step: 286] loss: 0.711790919303894\n",
"[step: 287] loss: 0.7106707096099854\n",
"[step: 288] loss: 0.7095513343811035\n",
"[step: 289] loss: 0.7084328532218933\n",
"[step: 290] loss: 0.70731520652771\n",
"[step: 291] loss: 0.706198513507843\n",
"[step: 292] loss: 0.7050828337669373\n",
"[step: 293] loss: 0.7039681077003479\n",
"[step: 294] loss: 0.7028545141220093\n",
"[step: 295] loss: 0.7017418742179871\n",
"[step: 296] loss: 0.7006305456161499\n",
"[step: 297] loss: 0.6995202898979187\n",
"[step: 298] loss: 0.6984111666679382\n",
"[step: 299] loss: 0.697303295135498\n",
"[step: 300] loss: 0.6961967349052429\n",
"[step: 301] loss: 0.6950913667678833\n",
"[step: 302] loss: 0.6939875483512878\n",
"[step: 303] loss: 0.6928848028182983\n",
"[step: 304] loss: 0.6917837262153625\n",
"[step: 305] loss: 0.690683901309967\n",
"[step: 306] loss: 0.6895855665206909\n",
"[step: 307] loss: 0.6884888410568237\n",
"[step: 308] loss: 0.6873936057090759\n",
"[step: 309] loss: 0.6863000392913818\n",
"[step: 310] loss: 0.6852079629898071\n",
"[step: 311] loss: 0.6841176748275757\n",
"[step: 312] loss: 0.6830289959907532\n",
"[step: 313] loss: 0.6819421052932739\n",
"[step: 314] loss: 0.6808569431304932\n",
"[step: 315] loss: 0.6797736883163452\n",
"[step: 316] loss: 0.6786922216415405\n",
"[step: 317] loss: 0.6776127219200134\n",
"[step: 318] loss: 0.6765350699424744\n",
"[step: 319] loss: 0.6754594445228577\n",
"[step: 320] loss: 0.6743859052658081\n",
"[step: 321] loss: 0.6733142733573914\n",
"[step: 322] loss: 0.6722447872161865\n",
"[step: 323] loss: 0.6711775064468384\n",
"[step: 324] loss: 0.6701123118400574\n",
"[step: 325] loss: 0.6690492630004883\n",
"[step: 326] loss: 0.6679885983467102\n",
"[step: 327] loss: 0.6669301986694336\n",
"[step: 328] loss: 0.6658741235733032\n",
"[step: 329] loss: 0.6648203730583191\n",
"[step: 330] loss: 0.6637690663337708\n",
"[step: 331] loss: 0.662720263004303\n",
"[step: 332] loss: 0.6616739630699158\n",
"[step: 333] loss: 0.6606300473213196\n",
"[step: 334] loss: 0.6595889329910278\n",
"[step: 335] loss: 0.6585502624511719\n",
"[step: 336] loss: 0.6575142741203308\n",
"[step: 337] loss: 0.6564810872077942\n",
"[step: 338] loss: 0.6554505228996277\n",
"[step: 339] loss: 0.6544227004051208\n",
"[step: 340] loss: 0.6533977389335632\n",
"[step: 341] loss: 0.6523756980895996\n",
"[step: 342] loss: 0.65135657787323\n",
"[step: 343] loss: 0.6503403186798096\n",
"[step: 344] loss: 0.6493270993232727\n",
"[step: 345] loss: 0.6483168601989746\n",
"[step: 346] loss: 0.6473096013069153\n",
"[step: 347] loss: 0.6463056802749634\n",
"[step: 348] loss: 0.6453046798706055\n",
"[step: 349] loss: 0.6443070769309998\n",
"[step: 350] loss: 0.6433125138282776\n",
"[step: 351] loss: 0.6423212289810181\n",
"[step: 352] loss: 0.6413332223892212\n",
"[step: 353] loss: 0.6403485536575317\n",
"[step: 354] loss: 0.6393672227859497\n",
"[step: 355] loss: 0.6383893489837646\n",
"[step: 356] loss: 0.6374149918556213\n",
"[step: 357] loss: 0.6364439725875854\n",
"[step: 358] loss: 0.6354764699935913\n",
"[step: 359] loss: 0.634512722492218\n",
"[step: 360] loss: 0.6335524320602417\n",
"[step: 361] loss: 0.6325958371162415\n",
"[step: 362] loss: 0.631642758846283\n",
"[step: 363] loss: 0.6306935548782349\n",
"[step: 364] loss: 0.6297479271888733\n",
"[step: 365] loss: 0.6288060545921326\n",
"[step: 366] loss: 0.6278681755065918\n",
"[step: 367] loss: 0.6269339919090271\n",
"[step: 368] loss: 0.6260036826133728\n",
"[step: 369] loss: 0.6250773072242737\n",
"[step: 370] loss: 0.624154806137085\n",
"[step: 371] loss: 0.6232362985610962\n",
"[step: 372] loss: 0.6223217844963074\n",
"[step: 373] loss: 0.6214113235473633\n",
"[step: 374] loss: 0.6205047965049744\n",
"[step: 375] loss: 0.619602382183075\n",
"[step: 376] loss: 0.6187041997909546\n",
"[step: 377] loss: 0.6178100109100342\n",
"[step: 378] loss: 0.616919994354248\n",
"[step: 379] loss: 0.6160340905189514\n",
"[step: 380] loss: 0.6151524782180786\n",
"[step: 381] loss: 0.6142750978469849\n",
"[step: 382] loss: 0.6134019494056702\n",
"[step: 383] loss: 0.6125330924987793\n",
"[step: 384] loss: 0.6116685271263123\n",
"[step: 385] loss: 0.6108081340789795\n",
"[step: 386] loss: 0.6099522113800049\n",
"[step: 387] loss: 0.6091006994247437\n",
"[step: 388] loss: 0.6082532405853271\n",
"[step: 389] loss: 0.6074104905128479\n",
"[step: 390] loss: 0.6065720319747925\n",
"[step: 391] loss: 0.6057379245758057\n",
"[step: 392] loss: 0.6049082279205322\n",
"[step: 393] loss: 0.604083240032196\n",
"[step: 394] loss: 0.6032624244689941\n",
"[step: 395] loss: 0.6024461984634399\n",
"[step: 396] loss: 0.6016343235969543\n",
"[step: 397] loss: 0.6008270978927612\n",
"[step: 398] loss: 0.6000242233276367\n",
"[step: 399] loss: 0.5992258787155151\n",
"[step: 400] loss: 0.5984320640563965\n",
"[step: 401] loss: 0.5976426601409912\n",
"[step: 402] loss: 0.5968579649925232\n",
"[step: 403] loss: 0.5960776805877686\n",
"[step: 404] loss: 0.5953019857406616\n",
"[step: 405] loss: 0.5945305228233337\n",
"[step: 406] loss: 0.5937638282775879\n",
"[step: 407] loss: 0.5930015444755554\n",
"[step: 408] loss: 0.5922438502311707\n",
"[step: 409] loss: 0.5914905667304993\n",
"[step: 410] loss: 0.5907418131828308\n",
"[step: 411] loss: 0.5899976491928101\n",
"[step: 412] loss: 0.5892577767372131\n",
"[step: 413] loss: 0.5885225534439087\n",
"[step: 414] loss: 0.5877917408943176\n",
"[step: 415] loss: 0.5870654582977295\n",
"[step: 416] loss: 0.5863436460494995\n",
"[step: 417] loss: 0.5856260657310486\n",
"[step: 418] loss: 0.5849130749702454\n",
"[step: 419] loss: 0.5842044353485107\n",
"[step: 420] loss: 0.5835002064704895\n",
"[step: 421] loss: 0.5828003883361816\n",
"[step: 422] loss: 0.5821048021316528\n",
"[step: 423] loss: 0.581413745880127\n",
"[step: 424] loss: 0.5807268619537354\n",
"[step: 425] loss: 0.5800442695617676\n",
"[step: 426] loss: 0.5793660283088684\n",
"[step: 427] loss: 0.5786920785903931\n",
"[step: 428] loss: 0.5780223608016968\n",
"[step: 429] loss: 0.5773568749427795\n",
"[step: 430] loss: 0.5766953229904175\n",
"[step: 431] loss: 0.5760383009910583\n",
"[step: 432] loss: 0.5753852128982544\n",
"[step: 433] loss: 0.5747361779212952\n",
"[step: 434] loss: 0.574091374874115\n",
"[step: 435] loss: 0.57345050573349\n",
"[step: 436] loss: 0.5728136897087097\n",
"[step: 437] loss: 0.5721808075904846\n",
"[step: 438] loss: 0.571552038192749\n",
"[step: 439] loss: 0.5709271430969238\n",
"[step: 440] loss: 0.5703060626983643\n",
"[step: 441] loss: 0.5696888566017151\n",
"[step: 442] loss: 0.5690754652023315\n",
"[step: 443] loss: 0.5684659481048584\n",
"[step: 444] loss: 0.5678602457046509\n",
"[step: 445] loss: 0.5672581791877747\n",
"[step: 446] loss: 0.566659688949585\n",
"[step: 447] loss: 0.5660650134086609\n",
"[step: 448] loss: 0.5654739737510681\n",
"[step: 449] loss: 0.5648864507675171\n",
"[step: 450] loss: 0.564302384853363\n",
"[step: 451] loss: 0.5637218356132507\n",
"[step: 452] loss: 0.5631449222564697\n",
"[step: 453] loss: 0.5625712871551514\n",
"[step: 454] loss: 0.56200110912323\n",
"[step: 455] loss: 0.561434268951416\n",
"[step: 456] loss: 0.5608707070350647\n",
"[step: 457] loss: 0.560310423374176\n",
"[step: 458] loss: 0.5597534775733948\n",
"[step: 459] loss: 0.5591995716094971\n",
"[step: 460] loss: 0.5586488246917725\n",
"[step: 461] loss: 0.5581012964248657\n",
"[step: 462] loss: 0.5575568079948425\n",
"[step: 463] loss: 0.5570153594017029\n",
"[step: 464] loss: 0.5564767122268677\n",
"[step: 465] loss: 0.555941104888916\n",
"[step: 466] loss: 0.5554085373878479\n",
"[step: 467] loss: 0.5548787713050842\n",
"[step: 468] loss: 0.5543518662452698\n",
"[step: 469] loss: 0.553827702999115\n",
"[step: 470] loss: 0.5533062815666199\n",
"[step: 471] loss: 0.5527876019477844\n",
"[step: 472] loss: 0.5522715449333191\n",
"[step: 473] loss: 0.5517581105232239\n",
"[step: 474] loss: 0.5512474179267883\n",
"[step: 475] loss: 0.550739049911499\n",
"[step: 476] loss: 0.5502334237098694\n",
"[step: 477] loss: 0.549730122089386\n",
"[step: 478] loss: 0.5492292642593384\n",
"[step: 479] loss: 0.5487307906150818\n",
"[step: 480] loss: 0.548234760761261\n",
"[step: 481] loss: 0.5477410554885864\n",
"[step: 482] loss: 0.5472494959831238\n",
"[step: 483] loss: 0.5467603206634521\n",
"[step: 484] loss: 0.5462732315063477\n",
"[step: 485] loss: 0.5457883477210999\n",
"[step: 486] loss: 0.5453057289123535\n",
"[step: 487] loss: 0.54482501745224\n",
"[step: 488] loss: 0.5443465709686279\n",
"[step: 489] loss: 0.5438700318336487\n",
"[step: 490] loss: 0.5433955192565918\n",
"[step: 491] loss: 0.5429229140281677\n",
"[step: 492] loss: 0.542452335357666\n",
"[step: 493] loss: 0.5419836640357971\n",
"[step: 494] loss: 0.5415167212486267\n",
"[step: 495] loss: 0.5410517454147339\n",
"[step: 496] loss: 0.5405884385108948\n",
"[step: 497] loss: 0.5401270389556885\n",
"[step: 498] loss: 0.5396672487258911\n",
"[step: 499] loss: 0.5392091870307922\n",
"RMSE: 0.17354419827461243\n"
]
},
{
"data": {
"image/png": "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\nhmqIsJSHAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1c66d0c2898>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1c7b88e0f28>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"'''\n",
"This script shows how to predict stock prices using a basic RNN\n",
"'''\n",
"import tensorflow as tf\n",
"import numpy as np\n",
"import matplotlib\n",
"import os\n",
"\n",
"tf.set_random_seed(777) # reproducibility\n",
"\n",
"if \"DISPLAY\" not in os.environ:\n",
" # remove Travis CI Error\n",
" matplotlib.use('Agg')\n",
"\n",
"import matplotlib.pyplot as plt\n",
"\n",
"\n",
"def MinMaxScaler(data):\n",
" ''' Min Max Normalization\n",
"\n",
" Parameters\n",
" ----------\n",
" data : numpy.ndarray\n",
" input data to be normalized\n",
" shape: [Batch size, dimension]\n",
"\n",
" Returns\n",
" ----------\n",
" data : numpy.ndarry\n",
" normalized data\n",
" shape: [Batch size, dimension]\n",
"\n",
" References\n",
" ----------\n",
" .. [1] http://sebastianraschka.com/Articles/2014_about_feature_scaling.html\n",
"\n",
" '''\n",
" numerator = data - np.min(data, 0)\n",
" denominator = np.max(data, 0) - np.min(data, 0)\n",
" # noise term prevents the zero division\n",
" return numerator / (denominator + 1e-7)\n",
"\n",
"\n",
"# train Parameters\n",
"timesteps = seq_length = 7\n",
"data_dim = 1\n",
"hidden_dim = 10\n",
"output_dim = 1\n",
"learing_rate = 0.01\n",
"iterations = 500\n",
"\n",
"# Open, High, Low, Volume, Close\n",
"xy = np.loadtxt('data-02-stock_daily.csv', delimiter=',')\n",
"xy = xy[::-1] # reverse order (chronically ordered)\n",
"xy = MinMaxScaler(xy)\n",
"x = xy[:, [-1]]\n",
"y = xy[:, [-1]] # Close as label\n",
"\n",
"# build a dataset\n",
"dataX = []\n",
"dataY = []\n",
"for i in range(0, len(y) - seq_length):\n",
" _x = x[i:i + seq_length]\n",
" _y = y[i + seq_length] # Next close price\n",
" #print(_x, \"->\", _y)\n",
" dataX.append(_x)\n",
" dataY.append(_y)\n",
"\n",
"# train/test split\n",
"train_size = int(len(dataY) * 0.7)\n",
"test_size = len(dataY) - train_size\n",
"trainX, testX = np.array(dataX[0:train_size]), np.array(\n",
" dataX[train_size:len(dataX)])\n",
"trainY, testY = np.array(dataY[0:train_size]), np.array(\n",
" dataY[train_size:len(dataY)])\n",
"\n",
"# input place holders\n",
"X = tf.placeholder(tf.float32, [None, seq_length, data_dim])\n",
"Y = tf.placeholder(tf.float32, [None, 1])\n",
"\n",
"# build a LSTM network\n",
"cell = tf.contrib.rnn.BasicLSTMCell(\n",
" num_units=hidden_dim, state_is_tuple=True, activation=tf.tanh)\n",
"outputs, _states = tf.nn.dynamic_rnn(cell, X, dtype=tf.float32)\n",
"Y_pred = tf.contrib.layers.fully_connected(\n",
" outputs[:, -1], output_dim, activation_fn=None) # We use the last cell's output\n",
"\n",
"# cost/loss\n",
"loss = tf.reduce_sum(tf.square(Y_pred - Y)) # sum of the squares\n",
"# optimizer\n",
"optimizer = tf.train.AdamOptimizer(learing_rate)\n",
"train = optimizer.minimize(loss)\n",
"\n",
"# RMSE\n",
"targets = tf.placeholder(tf.float32, [None, 1])\n",
"predictions = tf.placeholder(tf.float32, [None, 1])\n",
"rmse = tf.sqrt(tf.reduce_mean(tf.square(targets - predictions)))\n",
"\n",
"with tf.Session() as sess:\n",
" init = tf.global_variables_initializer()\n",
" sess.run(init)\n",
"\n",
" # Training step\n",
" for i in range(iterations):\n",
" _, step_loss = sess.run([train, loss], feed_dict={\n",
" X: trainX, Y: trainY})\n",
" print(\"[step: {}] loss: {}\".format(i, step_loss))\n",
"\n",
" # Test step\n",
" train_predict = sess.run(Y_pred, feed_dict={X: trainX})\n",
" testX = np.array([trainY[-7:,:]])\n",
" testX_predict = []\n",
" for _ in range(test_size):\n",
" test_predict = sess.run(Y_pred, feed_dict={X: testX})\n",
" testX = np.concatenate([testX[:,1:,:],test_predict.reshape(1,1,1)],axis=1)\n",
" testX_predict.append(test_predict)\n",
" rmse = sess.run(rmse, feed_dict={\n",
" targets: testY, predictions: np.array(testX_predict).reshape(-1,1)})\n",
" print(\"RMSE: {}\".format(rmse))\n",
"\n",
" # Plot predictions\n",
" plt.plot(trainY)\n",
" plt.plot(train_predict)\n",
" plt.xlabel(\"Time Period\")\n",
" plt.ylabel(\"Stock Price\")\n",
" plt.show()\n",
" plt.plot(testY)\n",
" plt.plot(np.array(testX_predict).reshape(-1,1))\n",
" plt.xlabel(\"Time Period\")\n",
" plt.ylabel(\"Stock Price\")\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"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.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment