Skip to content

Instantly share code, notes, and snippets.

@oxinabox
Created July 22, 2015 07:15
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 oxinabox/4138a1b693a820cc37d5 to your computer and use it in GitHub Desktop.
Save oxinabox/4138a1b693a820cc37d5 to your computer and use it in GitHub Desktop.
Using Mocha and Word Embeddings to search for Hyponyms
{
"cells": [
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"using Iterators\n",
"using DataStructures\n",
"macro printval(ee)\n",
" ee_expr = @sprintf \"%s\" string(ee)\n",
" esc(:(println($ee_expr,\" = \", $ee)))\n",
"end\n",
"\n",
"macro pz(ee)\n",
" ee_expr = @sprintf \"%s\" string(ee)\n",
" esc(:(println($ee_expr,\"\\t\\t\",typeof($ee), \"\\t\", size($ee))))\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"using Pipe\n",
"push!(LOAD_PATH, \"../word-embeddings2\")\n",
"using WordEmbeddings\n",
"we = @pipe load_word2vec_embeddings(\"../../Resources/example_code/word2vec/GoogleNews-vectors-negative300.bin\", 15000) |> WE(_...);"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"load_data (generic function with 1 method)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function load_data(filepath)\n",
" lines = open(filepath) do filehandle\n",
" map(eachline(filehandle)) do line\n",
" fields = split(line)\n",
" (fields[1], fields[2:end])\n",
" end\n",
" end\n",
"\n",
" data = String[]\n",
" labels = String[]\n",
" \n",
" for (hyper, hypos) in lines\n",
" if has_word(we,hyper) # Skip ones we don't have \n",
" hypos = @pipe hypos |> filter(w->has_word(we,w), _)\n",
" append!(data,hypos)\n",
" @pipe hyper |> fill(_,length(hypos)) |> append!(labels, _)\n",
" end\n",
" end \n",
" data, labels\n",
"end\n"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"(\n",
"300x31385 Array{Number,2}:\n",
" -0.0581674 -0.0671601 -0.00800945 … -0.027202 0.0867118 \n",
" 0.0520085 -0.0491877 -0.0703835 -0.00294688 0.075921 \n",
" 0.0708274 -0.0209678 -0.0100844 -0.0652847 0.0566517 \n",
" 0.0144563 0.107835 -0.00813395 -0.00516837 0.060891 \n",
" -0.146445 -0.0845019 -0.0531196 0.0182253 -0.00674425\n",
" -0.0448231 0.0253821 -0.0108729 … 0.0725385 0.0196547 \n",
" -0.076302 0.00409897 -0.0252318 0.0819685 0.0570371 \n",
" -0.0831452 -0.124861 0.0275558 0.0160492 -0.117928 \n",
" -0.0605626 -0.00291658 0.0511277 -0.0337304 0.0766918 \n",
" 0.0136009 0.0532866 0.0634116 0.0544039 0.0581933 \n",
" 0.0455075 -0.0342107 0.0406697 … -0.0681862 0.0639741 \n",
" 0.0210429 -0.038152 -0.0474757 0.0297408 -0.0855557 \n",
" 0.0684323 -0.0124546 0.00294648 0.0134196 -0.0263989 \n",
" ⋮ ⋱ \n",
" 0.0306234 -0.0577009 0.0190069 -0.0558547 -0.0616618 \n",
" -0.0540615 -0.0851325 0.0806755 -0.018588 -0.0624325 \n",
" -0.0804079 0.125492 0.0507957 … -0.0562174 -0.055881 \n",
" -0.0121467 0.0703131 0.0208329 0.018044 0.0142593 \n",
" -0.0313078 -0.0220714 -0.0263938 0.0268393 -0.0342993 \n",
" 0.0660372 0.0384673 -0.0267258 0.0576681 -0.0578079 \n",
" -0.0475604 -0.0201796 -0.0401717 0.01886 0.0373824 \n",
" -0.0718539 -0.000507445 -0.0275558 … 0.0322796 0.0171497 \n",
" -0.0749334 0.079457 0.0109559 -0.00983804 -0.0747649 \n",
" -0.0335318 -0.0469805 0.0600916 -0.00261819 -0.0217743 \n",
" 0.0073137 0.0731509 0.0428277 -0.0801551 0.0158972 \n",
" 0.0128311 0.0813488 0.0889754 0.0594816 0.00580488,\n",
"\n",
"300x31385 Array{Number,2}:\n",
" 0.0614284 0.0352818 0.11665 … 0.11665 0.110443 \n",
" -0.0180419 -0.00887772 -0.0442141 -0.0442141 -0.0237453 \n",
" 0.0408091 -0.00252013 0.022013 0.022013 0.0314763 \n",
" -0.0156793 0.11226 0.120413 0.120413 0.0163824 \n",
" -0.0119205 -0.0989722 -0.0423326 -0.0423326 -0.212051 \n",
" -0.118561 -0.000366922 -0.0571961 … -0.0571961 0.0581667 \n",
" -0.0266333 0.0142043 -0.0160864 -0.0160864 0.10308 \n",
" 0.00587973 -0.0893499 0.0180619 0.0180619 -0.0199718 \n",
" 0.0889208 0.00592802 0.0152398 0.0152398 0.0320285 \n",
" 0.0567031 0.0407802 -0.0174975 -0.0174975 0.0548534 \n",
" -0.0109003 0.0497152 -0.0549384 … -0.0549384 -0.0421524 \n",
" 0.0162162 -0.0971394 -0.0801498 -0.0801498 -0.0566941 \n",
" 0.0258815 0.0241703 -0.00425678 -0.00425678 -0.0175789 \n",
" ⋮ ⋱ \n",
" -0.00242975 -0.0175263 0.0252114 0.0252114 -0.0155541 \n",
" 0.0756042 0.00270627 0.0126057 0.0126057 -0.0218125 \n",
" 0.0220154 -0.160372 0.0434615 … 0.0434615 -0.0758376 \n",
" 0.0204045 0.0966812 0.109877 0.109877 0.0964536 \n",
" -0.036943 -0.0435295 -0.130196 -0.130196 0.00354338\n",
" -0.103956 0.021192 -0.0150516 -0.0150516 -0.0163824 \n",
" 0.0597101 -0.0646069 -0.0846653 -0.0846653 -0.0684747 \n",
" 0.0408091 0.0396347 0.0229537 … 0.0229537 -0.00524604\n",
" 0.0148201 0.0272632 0.0228596 0.0228596 0.0151859 \n",
" 0.00961161 -0.0189009 -0.0741292 -0.0741292 0.00425666\n",
" -0.0474674 0.0529227 -0.0381935 -0.0381935 -0.0541171 \n",
" -0.0265259 -0.0943902 -0.0428971 -0.0428971 0.0163824 )"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function load_and_embed(path)\n",
" data_str, labels_str = load_data(path)\n",
" data = eval_word_embeddings(we,data_str)\n",
" labels = eval_word_embeddings(we,labels_str);\n",
" order = randperm(size(data,2));\n",
" data[:,order], labels[:,order];\n",
"end\n",
"\n",
"data, labels = load_and_embed(\"HyponymGen/hyponym-generation-noun-train.txt\")\n",
"data_valid, labels_valid = load_and_embed(\"HyponymGen/hyponym-generation-noun-dev.txt\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10-Jun 10:27:30:INFO:root:Constructing net nym-train on CPUBackend...\n",
"10-Jun 10:27:30:INFO:root:Topological sorting 4 layers...\n",
"10-Jun 10:27:30:INFO:root:Setup layers...\n",
"10-Jun 10:27:30:INFO:root:Network constructed!\n"
]
},
{
"data": {
"text/plain": [
"************************************************************\n",
" NAME: nym-train\n",
" BACKEND: CPUBackend\n",
" ARCHITECTURE: 4 layers\n",
"............................................................\n",
" *** MemoryDataLayer(train-data)\n",
" Outputs ---------------------------\n",
" data: Blob(300 x 10)\n",
" label: Blob(300 x 10)\n",
"............................................................\n",
" *** InnerProductLayer(ip1)\n",
" Inputs ----------------------------\n",
" data: Blob(300 x 10)\n",
" Outputs ---------------------------\n",
" ip1: Blob(500 x 10)\n",
"............................................................\n",
" *** InnerProductLayer(ip2)\n",
" Inputs ----------------------------\n",
" ip1: Blob(500 x 10)\n",
" Outputs ---------------------------\n",
" ip2: Blob(300 x 10)\n",
"............................................................\n",
" *** SquareLossLayer(loss)\n",
" Inputs ----------------------------\n",
" ip2: Blob(300 x 10)\n",
" label: Blob(300 x 10)\n",
"************************************************************\n"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Mocha\n",
"\n",
"data_l = MemoryDataLayer(name=\"train-data\",tops=[:data,:label], data=Array[data, labels],batch_size=10)\n",
"fc1 = InnerProductLayer(name=\"ip1\",output_dim=500,neuron=Neurons.ReLU(),\n",
"bottoms=[:data],tops=[:ip1], weight_init=GaussianInitializer(0.0,0.0001))\n",
"fc2 = InnerProductLayer(name=\"ip2\",output_dim=300,neuron=Neurons.ReLU(),\n",
" bottoms=[:ip1], tops=[:ip2], weight_init=GaussianInitializer(0.0,0.0001))\n",
"loss_l = SquareLossLayer(name=\"loss\", bottoms=[:ip2,:label])\n",
"backend = CPUBackend()\n",
"init(backend)\n",
"common_layers = [fc1,fc2]\n",
"net = Net(\"nym-train\", backend, [data_l, common_layers..., loss_l])\n"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1-element Array{CoffeeBreak,1}:\n",
" CoffeeBreak(TrainingSummary(),100,0)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"exp_dir = \"snapshots\"\n",
"params = SolverParameters(max_iter=10000, regu_coef=0.0005,\n",
" mom_policy=MomPolicy.Fixed(0.9),\n",
" lr_policy=LRPolicy.Inv(0.01, 0.0001, 0.75),\n",
" load_from=exp_dir)\n",
"solver = Nesterov(params)\n",
"\n",
"setup_coffee_lounge(solver, save_into=\"$exp_dir/statistics.jld\", every_n_iter=1000)\n",
"\n",
"# report training progress every 100 iterations\n",
"add_coffee_break(solver, TrainingSummary(), every_n_iter=100)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10-Jun 10:27:34:INFO:root:Constructing net nym-valid on CPUBackend...\n",
"10-Jun 10:27:34:INFO:root:Topological sorting 4 layers...\n",
"10-Jun 10:27:34:INFO:root:Setup layers...\n",
"10-Jun 10:27:34:DEBUG:root:InnerProductLayer(ip1): sharing weights and bias\n",
"10-Jun 10:27:34:DEBUG:root:InnerProductLayer(ip2): sharing weights and bias\n",
"10-Jun 10:27:34:INFO:root:Network constructed!\n"
]
},
{
"data": {
"text/plain": [
"2-element Array{CoffeeBreak,1}:\n",
" CoffeeBreak(TrainingSummary(),100,0) \n",
" CoffeeBreak(ValidationPerformance(************************************************************\n",
" NAME: nym-valid\n",
" BACKEND: CPUBackend\n",
" ARCHITECTURE: 4 layers\n",
"............................................................\n",
" *** MemoryDataLayer(validation-data)\n",
" Outputs ---------------------------\n",
" data: Blob(300 x 1000)\n",
" label: Blob(300 x 1000)\n",
"............................................................\n",
" *** InnerProductLayer(ip1)\n",
" Inputs ----------------------------\n",
" data: Blob(300 x 1000)\n",
" Outputs ---------------------------\n",
" ip1: Blob(500 x 1000)\n",
"............................................................\n",
" *** InnerProductLayer(ip2)\n",
" Inputs ----------------------------\n",
" ip1: Blob(500 x 1000)\n",
" Outputs ---------------------------\n",
" ip2: Blob(300 x 1000)\n",
"............................................................\n",
" *** SquareLossLayer(validation-loss)\n",
" Inputs ----------------------------\n",
" ip2: Blob(300 x 1000)\n",
" label: Blob(300 x 1000)\n",
"************************************************************\n",
",[]),1000,0)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_valid_l = MemoryDataLayer(name=\"validation-data\",tops=[:data,:label], data=Array[data_valid, labels_valid],batch_size=1000)\n",
"accuracy = SquareLossLayer(name=\"validation-loss\",bottoms=[:ip2, :label])\n",
"valid_net = Net(\"nym-valid\", backend, [data_valid_l, common_layers..., accuracy])\n",
"add_coffee_break(solver, ValidationPerformance(valid_net), every_n_iter=1000)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10-Jun 10:27:39:DEBUG:root:Checking network topology for back-propagation\n",
"10-Jun 10:27:39:DEBUG:root:Init network nym-train\n",
"10-Jun 10:27:39:DEBUG:root:Init parameter weight for layer ip1\n",
"10-Jun 10:27:39:DEBUG:root:Init parameter bias for layer ip1\n",
"10-Jun 10:27:39:DEBUG:root:Init parameter weight for layer ip2\n",
"10-Jun 10:27:39:DEBUG:root:Init parameter bias for layer ip2\n",
"10-Jun 10:27:39:DEBUG:root:Initializing coffee breaks\n",
"10-Jun 10:27:39:INFO:root:Merging existing coffee lounge statistics in snapshots/statistics.jld\n",
"10-Jun 10:27:39:DEBUG:root:Init network nym-valid\n",
"10-Jun 10:27:39:INFO:root:000000 :: TRAIN obj-val = 0.50000006\n",
"10-Jun 10:27:49:INFO:root:\n",
"10-Jun 10:27:49:INFO:root:## Performance on Validation Set after 0 iterations\n",
"10-Jun 10:27:49:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:27:49:INFO:root: Square-loss (avg over 32000) = 0.5000\n",
"10-Jun 10:27:49:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:27:49:INFO:root:\n",
"10-Jun 10:27:49:DEBUG:root:Entering solver loop\n",
"10-Jun 10:27:50:INFO:root:000100 :: TRAIN obj-val = 0.48883663\n",
"10-Jun 10:27:52:INFO:root:000200 :: TRAIN obj-val = 0.46480904\n",
"10-Jun 10:27:53:INFO:root:000300 :: TRAIN obj-val = 0.47136768\n",
"10-Jun 10:27:55:INFO:root:000400 :: TRAIN obj-val = 0.47490220\n",
"10-Jun 10:27:56:INFO:root:000500 :: TRAIN obj-val = 0.46790173\n",
"10-Jun 10:27:58:INFO:root:000600 :: TRAIN obj-val = 0.47198237\n",
"10-Jun 10:28:00:INFO:root:000700 :: TRAIN obj-val = 0.46895250\n",
"10-Jun 10:28:01:INFO:root:000800 :: TRAIN obj-val = 0.48003644\n",
"10-Jun 10:28:03:INFO:root:000900 :: TRAIN obj-val = 0.47291779\n",
"10-Jun 10:28:04:INFO:root:001000 :: TRAIN obj-val = 0.46264825\n",
"10-Jun 10:28:13:INFO:root:\n",
"10-Jun 10:28:13:INFO:root:## Performance on Validation Set after 1000 iterations\n",
"10-Jun 10:28:13:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:28:13:INFO:root: Square-loss (avg over 31000) = 0.4884\n",
"10-Jun 10:28:13:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:28:13:INFO:root:\n",
"10-Jun 10:28:14:INFO:root:001100 :: TRAIN obj-val = 0.46010436\n",
"10-Jun 10:28:15:INFO:root:001200 :: TRAIN obj-val = 0.48519646\n",
"10-Jun 10:28:17:INFO:root:001300 :: TRAIN obj-val = 0.47630396\n",
"10-Jun 10:28:18:INFO:root:001400 :: TRAIN obj-val = 0.48101344\n",
"10-Jun 10:28:19:INFO:root:001500 :: TRAIN obj-val = 0.46491980\n",
"10-Jun 10:28:20:INFO:root:001600 :: TRAIN obj-val = 0.45920647\n",
"10-Jun 10:28:22:INFO:root:001700 :: TRAIN obj-val = 0.48326681\n",
"10-Jun 10:28:23:INFO:root:001800 :: TRAIN obj-val = 0.47238661\n",
"10-Jun 10:28:24:INFO:root:001900 :: TRAIN obj-val = 0.48211444\n",
"10-Jun 10:28:25:INFO:root:002000 :: TRAIN obj-val = 0.44525278\n",
"10-Jun 10:28:35:INFO:root:\n",
"10-Jun 10:28:35:INFO:root:## Performance on Validation Set after 2000 iterations\n",
"10-Jun 10:28:35:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:28:35:INFO:root: Square-loss (avg over 32000) = 0.4899\n",
"10-Jun 10:28:35:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:28:35:INFO:root:\n",
"10-Jun 10:28:37:INFO:root:002100 :: TRAIN obj-val = 0.48604226\n",
"10-Jun 10:28:38:INFO:root:002200 :: TRAIN obj-val = 0.48332629\n",
"10-Jun 10:28:40:INFO:root:002300 :: TRAIN obj-val = 0.48356120\n",
"10-Jun 10:28:41:INFO:root:002400 :: TRAIN obj-val = 0.47731913\n",
"10-Jun 10:28:42:INFO:root:002500 :: TRAIN obj-val = 0.48607225\n",
"10-Jun 10:28:44:INFO:root:002600 :: TRAIN obj-val = 0.48175597\n",
"10-Jun 10:28:45:INFO:root:002700 :: TRAIN obj-val = 0.47892705\n",
"10-Jun 10:28:47:INFO:root:002800 :: TRAIN obj-val = 0.47653180\n",
"10-Jun 10:28:48:INFO:root:002900 :: TRAIN obj-val = 0.46621383\n",
"10-Jun 10:28:50:INFO:root:003000 :: TRAIN obj-val = 0.48425078\n",
"10-Jun 10:29:00:INFO:root:\n",
"10-Jun 10:29:00:INFO:root:## Performance on Validation Set after 3000 iterations\n",
"10-Jun 10:29:00:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:00:INFO:root: Square-loss (avg over 31000) = 0.4878\n",
"10-Jun 10:29:00:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:00:INFO:root:\n",
"10-Jun 10:29:02:INFO:root:003100 :: TRAIN obj-val = 0.46425406\n",
"10-Jun 10:29:04:INFO:root:003200 :: TRAIN obj-val = 0.47384931\n",
"10-Jun 10:29:05:INFO:root:003300 :: TRAIN obj-val = 0.47648531\n",
"10-Jun 10:29:07:INFO:root:003400 :: TRAIN obj-val = 0.48387292\n",
"10-Jun 10:29:08:INFO:root:003500 :: TRAIN obj-val = 0.47259511\n",
"10-Jun 10:29:10:INFO:root:003600 :: TRAIN obj-val = 0.47992594\n",
"10-Jun 10:29:11:INFO:root:003700 :: TRAIN obj-val = 0.45653472\n",
"10-Jun 10:29:13:INFO:root:003800 :: TRAIN obj-val = 0.47037075\n",
"10-Jun 10:29:14:INFO:root:003900 :: TRAIN obj-val = 0.49001100\n",
"10-Jun 10:29:16:INFO:root:004000 :: TRAIN obj-val = 0.47111151\n",
"10-Jun 10:29:26:INFO:root:\n",
"10-Jun 10:29:26:INFO:root:## Performance on Validation Set after 4000 iterations\n",
"10-Jun 10:29:26:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:26:INFO:root: Square-loss (avg over 31000) = 0.4878\n",
"10-Jun 10:29:26:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:26:INFO:root:\n",
"10-Jun 10:29:27:INFO:root:004100 :: TRAIN obj-val = 0.49154458\n",
"10-Jun 10:29:29:INFO:root:004200 :: TRAIN obj-val = 0.47157905\n",
"10-Jun 10:29:30:INFO:root:004300 :: TRAIN obj-val = 0.48663125\n",
"10-Jun 10:29:32:INFO:root:004400 :: TRAIN obj-val = 0.47814314\n",
"10-Jun 10:29:34:INFO:root:004500 :: TRAIN obj-val = 0.48404395\n",
"10-Jun 10:29:35:INFO:root:004600 :: TRAIN obj-val = 0.47586801\n",
"10-Jun 10:29:37:INFO:root:004700 :: TRAIN obj-val = 0.47927130\n",
"10-Jun 10:29:39:INFO:root:004800 :: TRAIN obj-val = 0.46036240\n",
"10-Jun 10:29:40:INFO:root:004900 :: TRAIN obj-val = 0.48743301\n",
"10-Jun 10:29:41:INFO:root:005000 :: TRAIN obj-val = 0.48185594\n",
"10-Jun 10:29:52:INFO:root:\n",
"10-Jun 10:29:52:INFO:root:## Performance on Validation Set after 5000 iterations\n",
"10-Jun 10:29:52:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:52:INFO:root: Square-loss (avg over 32000) = 0.4888\n",
"10-Jun 10:29:52:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:29:52:INFO:root:\n",
"10-Jun 10:29:54:INFO:root:005100 :: TRAIN obj-val = 0.47127597\n",
"10-Jun 10:29:56:INFO:root:005200 :: TRAIN obj-val = 0.47265567\n",
"10-Jun 10:29:57:INFO:root:005300 :: TRAIN obj-val = 0.46927035\n",
"10-Jun 10:29:59:INFO:root:005400 :: TRAIN obj-val = 0.48516035\n",
"10-Jun 10:30:00:INFO:root:005500 :: TRAIN obj-val = 0.47402762\n",
"10-Jun 10:30:02:INFO:root:005600 :: TRAIN obj-val = 0.47053494\n",
"10-Jun 10:30:04:INFO:root:005700 :: TRAIN obj-val = 0.47081749\n",
"10-Jun 10:30:05:INFO:root:005800 :: TRAIN obj-val = 0.47398741\n",
"10-Jun 10:30:07:INFO:root:005900 :: TRAIN obj-val = 0.46753355\n",
"10-Jun 10:30:08:INFO:root:006000 :: TRAIN obj-val = 0.46907804\n",
"10-Jun 10:30:19:INFO:root:\n",
"10-Jun 10:30:19:INFO:root:## Performance on Validation Set after 6000 iterations\n",
"10-Jun 10:30:19:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:30:19:INFO:root: Square-loss (avg over 31000) = 0.4892\n",
"10-Jun 10:30:19:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:30:19:INFO:root:\n",
"10-Jun 10:30:21:INFO:root:006100 :: TRAIN obj-val = 0.46490584\n",
"10-Jun 10:30:23:INFO:root:006200 :: TRAIN obj-val = 0.47471506\n",
"10-Jun 10:30:24:INFO:root:006300 :: TRAIN obj-val = 0.48483094\n",
"10-Jun 10:30:26:INFO:root:006400 :: TRAIN obj-val = 0.48318876\n",
"10-Jun 10:30:27:INFO:root:006500 :: TRAIN obj-val = 0.47059191\n",
"10-Jun 10:30:28:INFO:root:006600 :: TRAIN obj-val = 0.46779332\n",
"10-Jun 10:30:30:INFO:root:006700 :: TRAIN obj-val = 0.48152483\n",
"10-Jun 10:30:31:INFO:root:006800 :: TRAIN obj-val = 0.48534144\n",
"10-Jun 10:30:33:INFO:root:006900 :: TRAIN obj-val = 0.46487961\n",
"10-Jun 10:30:34:INFO:root:007000 :: TRAIN obj-val = 0.47447764\n",
"10-Jun 10:30:44:INFO:root:\n",
"10-Jun 10:30:44:INFO:root:## Performance on Validation Set after 7000 iterations\n",
"10-Jun 10:30:44:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:30:44:INFO:root: Square-loss (avg over 32000) = 0.4891\n",
"10-Jun 10:30:44:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:30:44:INFO:root:\n",
"10-Jun 10:30:46:INFO:root:007100 :: TRAIN obj-val = 0.46836249\n",
"10-Jun 10:30:47:INFO:root:007200 :: TRAIN obj-val = 0.47883864\n",
"10-Jun 10:30:49:INFO:root:007300 :: TRAIN obj-val = 0.48284943\n",
"10-Jun 10:30:50:INFO:root:007400 :: TRAIN obj-val = 0.47894667\n",
"10-Jun 10:30:52:INFO:root:007500 :: TRAIN obj-val = 0.48049274\n",
"10-Jun 10:30:53:INFO:root:007600 :: TRAIN obj-val = 0.47499379\n",
"10-Jun 10:30:55:INFO:root:007700 :: TRAIN obj-val = 0.48514676\n",
"10-Jun 10:30:56:INFO:root:007800 :: TRAIN obj-val = 0.48400449\n",
"10-Jun 10:30:57:INFO:root:007900 :: TRAIN obj-val = 0.46851700\n",
"10-Jun 10:30:59:INFO:root:008000 :: TRAIN obj-val = 0.47146519\n",
"10-Jun 10:31:09:INFO:root:\n",
"10-Jun 10:31:09:INFO:root:## Performance on Validation Set after 8000 iterations\n",
"10-Jun 10:31:09:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:31:09:INFO:root: Square-loss (avg over 31000) = 0.4868\n",
"10-Jun 10:31:09:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:31:09:INFO:root:\n",
"10-Jun 10:31:11:INFO:root:008100 :: TRAIN obj-val = 0.46165080\n",
"10-Jun 10:31:13:INFO:root:008200 :: TRAIN obj-val = 0.48383683\n",
"10-Jun 10:31:15:INFO:root:008300 :: TRAIN obj-val = 0.47800907\n",
"10-Jun 10:31:16:INFO:root:008400 :: TRAIN obj-val = 0.47186569\n",
"10-Jun 10:31:18:INFO:root:008500 :: TRAIN obj-val = 0.46983205\n",
"10-Jun 10:31:20:INFO:root:008600 :: TRAIN obj-val = 0.47103093\n",
"10-Jun 10:31:21:INFO:root:008700 :: TRAIN obj-val = 0.47163420\n",
"10-Jun 10:31:23:INFO:root:008800 :: TRAIN obj-val = 0.47841891\n",
"10-Jun 10:31:24:INFO:root:008900 :: TRAIN obj-val = 0.48722962\n",
"10-Jun 10:31:26:INFO:root:009000 :: TRAIN obj-val = 0.48884831\n",
"10-Jun 10:31:35:INFO:root:\n",
"10-Jun 10:31:35:INFO:root:## Performance on Validation Set after 9000 iterations\n",
"10-Jun 10:31:35:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:31:35:INFO:root: Square-loss (avg over 31000) = 0.4878\n",
"10-Jun 10:31:35:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:31:35:INFO:root:\n",
"10-Jun 10:31:37:INFO:root:009100 :: TRAIN obj-val = 0.47104933\n",
"10-Jun 10:31:38:INFO:root:009200 :: TRAIN obj-val = 0.47558842\n",
"10-Jun 10:31:40:INFO:root:009300 :: TRAIN obj-val = 0.49405345\n",
"10-Jun 10:31:41:INFO:root:009400 :: TRAIN obj-val = 0.47181903\n",
"10-Jun 10:31:43:INFO:root:009500 :: TRAIN obj-val = 0.46535910\n",
"10-Jun 10:31:44:INFO:root:009600 :: TRAIN obj-val = 0.48439034\n",
"10-Jun 10:31:46:INFO:root:009700 :: TRAIN obj-val = 0.46460025\n",
"10-Jun 10:31:48:INFO:root:009800 :: TRAIN obj-val = 0.48240393\n",
"10-Jun 10:31:50:INFO:root:009900 :: TRAIN obj-val = 0.47618744\n",
"10-Jun 10:31:51:INFO:root:010000 :: TRAIN obj-val = 0.46859444\n",
"10-Jun 10:32:02:INFO:root:\n",
"10-Jun 10:32:02:INFO:root:## Performance on Validation Set after 10000 iterations\n",
"10-Jun 10:32:02:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:32:02:INFO:root: Square-loss (avg over 32000) = 0.4876\n",
"10-Jun 10:32:02:INFO:root:---------------------------------------------------------\n",
"10-Jun 10:32:02:INFO:root:\n"
]
},
{
"data": {
"text/plain": [
"2-element Array{Array{Nothing,1},1}:\n",
" [nothing,nothing]\n",
" [nothing,nothing]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve(solver, net)\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"09-Jun 16:02:18:DEBUG:root:Destroying network nym-train\n",
"09-Jun 16:02:18:DEBUG:root:Destroying network nym-valid\n"
]
}
],
"source": [
"destroy(net)\n",
"destroy(valid_net)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 0.3.9-pre",
"language": "julia",
"name": "julia-0.3"
},
"language_info": {
"name": "julia",
"version": "0.3.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment