From 6def5f6197bf7290b34ce5831fdab4de33a20962 Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Fri, 16 Sep 2016 14:16:14 +0430 Subject: [PATCH] draw chart using simple options --- examples/notmnist.hs | 10 +- log | 1012 ------------------------------------------ notmnist.png | Bin 33473 -> 32186 bytes src/Sibe.hs | 22 +- 4 files changed, 20 insertions(+), 1024 deletions(-) delete mode 100644 log diff --git a/examples/notmnist.hs b/examples/notmnist.hs index 2628f16..80d384c 100644 --- a/examples/notmnist.hs +++ b/examples/notmnist.hs @@ -47,20 +47,14 @@ module Main where , network = rnetwork , training = zip trinputs trlabels , test = zip teinputs telabels + , drawChart = True + , chartName = "notmnist.png" } :: Session let initialCost = crossEntropy session newsession <- run (sgd . learningRateDecay (1.1, 5e-2)) session - let el = map (\(e, l, _) -> (e, l)) (chart newsession) - ea = map (\(e, _, a) -> (e, a)) (chart newsession) - toFile Chart.def "notmnist.png" $ do - Chart.layoutlr_title Chart..= "loss over time" - Chart.plotLeft (Chart.line "loss" [el]) - Chart.plotRight (Chart.line "learningRate" [ea]) - - let cost = crossEntropy newsession putStrLn "parameters: " diff --git a/log b/log deleted file mode 100644 index 89da90f..0000000 --- a/log +++ /dev/null @@ -1,1012 +0,0 @@ -economist: ["nar","competitive"] -crumbling: ["accompanied","plan"] -accompanied: ["crumbling","rumor"] -dramatic: ["prepared","account"] -reversal: ["account","dramatic"] -account: ["reversal","dramatic"] -brazils: ["sufficient","surpluses"] -surpluses: ["sufficient","brazils"] -sufficient: ["brazils","surpluses"] -needed: ["billion","switched"] -debt: ["earners","crisis"] -target: ["averaging","monthly"] -repeat: ["monthly","averaging"] -monthly: ["repeat","averaging"] -averaging: ["target","monthly"] -exports: ["diverted","rises"] -diverted: ["exclusive","exports"] -increased: ["avoid","surplus"] -avoid: ["increased","shortages"] -domestic: ["avoid","gross"] -surplus: ["avoid","satisfactory"] -plunged: ["averaged","october"] -october: ["plunged","averaged"] -averaged: ["plunged","october"] -zealands: ["official","another"] -official: ["another","zealands"] -fell: ["reserves","nz"] -nz: ["fell","billion"] -statistical: ["commerice","period"] -bulletin: ["optimism","optimistic"] -panama: ["canal","commission"] -canal: ["panama","backlog"] -government: ["caused","policies"] -agency: ["daily","operations"] -daily: ["agency","operations"] -backlog: ["harris","enter"] -ships: ["load","enter"] -waiting: ["load","enter"] -enter: ["waiting","load"] -days: ["cut","over"] -due:: ["helped","tuesday"] -transit:: ["evening","postponed"] -backlog:: ["end","day"] -super: ["tankers","vessels"] -tankers: ["super","regular"] -regular: ["tankers","declared"] -vessels: ["tankers","petrochemical"] -end:: ["hrs","south"] -hrs: ["srw","end:"] -<america: ["federally","guaranteed"] -first: ["handler","determining"] -federally: ["guaranteed","<america"] -guaranteed: ["federally","<america"] -mortgage: ["two>","special"] -fund: ["two>","mortgage"] -two>: ["making","mortgage"] -exchangeable: ["unit","includes"] -income: ["treatment","cts"] -am: ["reporting","international"] -reporting: ["am","bdm"] -balance: ["remain","contribution"] -remain: ["balance","contribution"] -orders: ["graphics","harris"] -harris: ["graphics","backlog"] -graphics: ["harris","orders"] -corresponding: ["cars","periods"] -annualized: ["running","basis"] -running: ["annualized","basis"] -division: ["vicon","cultivators"] -introductions: ["enable","benefit"] -dollar: ["half","second"] -research: ["engineering","associates"] -development: ["engineering","expenditures"] -engineering: ["expenditures","development"] -expenditures: ["engineering","development"] -allocated: ["sellers","reasonable"] -revenues: ["properties","pretax"] -guarantees: ["credit","guarantee"] -earmarked: ["switched","edible"] -edible: ["beans","earmarked"] -beans: ["edible","creates"] -honduras: ["beans","edible"] -switched: ["earmarked","white"] -action: ["reduces","coverage"] -reduces: ["action","coverage"] -coverage: ["action","reduces"] -creates: ["beans","edible"] -all: ["star","guarantee"] -guarantee: ["credit","all"] -shipped: ["september","registered"] -gulf: ["technologies","applied"] -barge: ["freight","firmed"] -freight: ["barge","firmed"] -firmed: ["barge","freight"] -steady: ["vessel","increasing"] -vessel: ["steady","increasing"] -loadings: ["mill","vessel"] -increasing: ["steady","vessel"] -demand: ["dealers","grows"] -barges: ["no","supply"] -supply: ["excess","dealers"] -dealers: ["supply","ships"] -no: ["barges","st"] -traded: ["no","yesterdays"] -st: ["louis","no"] -louis: ["merchants","st"] -merchants: ["louis","st"] -exchange: ["filing","pan"] -session: ["readdress","eight"] -yesterday: ["elevating","chief"] -quotes: ["delivered","included"] -illinois: ["ex","river"] -river: ["illinois","ex"] -joliet: ["chicago","delivery"] -tariff: ["ex","chicago"] -ex: ["chicago","illinois"] -quoted: ["philippine","figures"] -percentage: ["multiple","constitute"] -points: ["percentage","quoted"] -next: ["owensboro","cairo"] -mississippi: ["nov","lower"] -owensboro: ["next","yesterdays"] -on: ["station","joliet"] -station: ["on","illinois"] -comparison: ["offered","tariff"] -yesterdays: ["owensboro","traded"] -memphis: ["nov","cairo"] -cairo: ["memphis","next"] -nov: ["mississippi","memphis"] -applied: ["technologies","gulf"] -technologies: ["applied","gulf"] -pipeline: ["subsidiaries","engaged"] -federal: ["owed","atico"] -taxes: ["owed","federal"] -owed: ["taxes","federal"] -transaction: ["<union","owed"] -offset: ["carryovers","carryforwards"] -carryovers: ["offset","carryforwards"] -latest: ["diamond","mths"] -virginia: ["power","territory"] -territory: ["dominion","virginia"] -dominion: ["territory","resources"] -resources: ["dominion","territory"] -<d>: ["improvement","<woodco"] -cofab: ["specialized","manufacture"] -<gulfex: ["acquired","<woodco"] -based: ["fabricator","alberta"] -fabricator: ["custom","houston"] -custom: ["fabricator","process"] -pressure: ["custom","fabricator"] -process: ["fabricator","custom"] -energy: ["petrochemical","universitys"] -petrochemical: ["marine","pulp"] -manufacture: ["companies","specialized"] -specialized: ["cofab","manufacture"] -cooling: ["lubricating","gas"] -lubricating: ["cooling","systems"] -oil: ["regain","manager"] -gas: ["properties","bcf"] -utility: ["pulp","paper"] -pulp: ["paper","utility"] -paper: ["pulp","utility"] -marine: ["pulp","petrochemical"] -amounts: ["qtr","yr"] -atico: ["peninsula","savings"] -peninsula: ["atico","savings"] -savings: ["atico","peninsula"] -pan: ["america","recorded"] -america: ["pan","banks"] -banks: ["purusant","ncnb"] -ncnb: ["purusant","banks"] -purusant: ["ncnb","banks"] -merger: ["wholly","purusant"] -modify: ["exporters","proposal"] -presenting: ["importers","delegates"] -importers: ["presenting","delegates"] -discussed: ["tonight","change"] -tonight: ["informally","change"] -informally: ["tonight","formally"] -producers: ["formal","member"] -talks: ["sides","formal"] -formal: ["producers","talks"] -eight: ["member","session"] -member: ["eight","splinter"] -splinter: ["member","eight"] -affect: ["distribution","commercial"] -proposed: ["out","shortfall"] -out: ["proposed","shortfall"] -declarations: ["nar","delegates"] -primary: ["diluted","pesos"] -pesos: ["primary","diluted"] -diluted: ["primary","pesos"] -philippine: ["distance","quoted"] -distance: ["telephone","philippine"] -telephone: ["distance","philippine"] -declaration: ["fluctuate","day"] -funds: ["commencement","period"] -commencement: ["funds","period"] -novebmer: ["extended","december"] -bdm: ["full","reporting"] -secondary: ["canron","recorded"] -offering: ["canron","actively"] -canron: ["offering","secondary"] -affiliated: ["miami","group"] -investment: ["questioned","purposes"] -firms: ["lowered","led"] -lowered: ["firms","cyclops"] -stake: ["ceding","disclosed"] -cyclops: ["lowered","wrather"] -filing: ["securities","commission"] -securities: ["filing","eckenfelder"] -led: ["mutual","firms"] -mutual: ["led","robeson"] -feb: ["jan","cyclops"] -agricultural: ["stabilization","consultant"] -stabilization: ["agricultural","consultant"] -conservation: ["land","ascs"] -ascs: ["established","values"] -established: ["ascs","values"] -values: ["ascs","established"] -redemption: ["ccc","commodity"] -bushel: ["priced","dollars"] -priced: ["bushel","dollars"] -yellow: ["only","grade"] -grade: ["sweet","yellow"] -only: ["cwt","yellow"] -hrw: ["srw","durum"] -srw: ["hrw","hrs"] -sww: ["srw","hrs"] -durum: ["hrw","srw"] -ill: ["track","editor"] -track: ["ill","equipment"] -toledo: ["out","share"] -peoria: ["issue","mlotok"] -denver: ["analysis","effective"] -evansville: ["paper","pulp"] -cincinnati: ["seeking","they"] -minneapolis: ["specialized","policy"] -baltimore: ["management","ohio"] -norf: ["phil","house"] -phil: ["norf","surprise"] -kansas: ["city","realistic"] -city: ["kansas","cambridge"] -amarillo: ["dividend","fluctuate"] -lubbock: ["texas","locations"] -lou: ["tex","increasing"] -portland: ["load","bancorp"] -seattle: ["higher","mln"] -stockton: ["eckenfelder","bache"] -la: ["meant","unusually"] -duluth: ["<emr>","problems"] -brly: ["rye","sorg"] -rye: ["brly","soyb"] -soyb: ["rye","brly"] -sorg: ["brly","soyb"] -evnsvlle: ["optimistic","emergency"] -cinci: ["fetched","complained"] -mpls: ["increased","noting"] -balt: ["nor","stake"] -nor: ["balt","volume"] -kc: ["united","stake"] -lo: ["merchants","louis"] -amarlo: ["faces","excess"] -lubbck: ["years","valuable"] -port: ["crop","planting"] -prevailing: ["adjusted","announced"] -location: ["mkt","strict"] -strict: ["middling","low"] -low: ["strict","combining"] -middling: ["strict","inch"] -inch: ["slm","strict"] -upland: ["cotton","determined"] -cotton: ["upland","handler"] -midnight: ["stockholders","expires"] -locations: ["lubbock","qualities"] -texas: ["lubbock","sour"] -qualities: ["locations","lubbock"] -determining: ["first","handler"] -handler: ["first","determining"] -certificate: ["preparing","handler"] -determined: ["upland","up"] -follows: ["allocations","upland"] -northern: ["european","upland"] -european: ["northern","small"] -adjustments: ["explain","closing"] -mkt: ["location","spot"] -slm: ["inch","determining"] -sum: ["closing","explain"] -began: ["ends","december"] -allocations: ["follows","quota"] -raw: ["totaled","short"] -barbados: ["belize","malawi"] -belize: ["barbados","fiji"] -bolivia: ["fiji","mozambique"] -colombia: ["half","special"] -congo: ["barbados","fiji"] -costa: ["rica","paraguay"] -rica: ["costa","guyana"] -ivory: ["coast","guyana"] -coast: ["ivory","guyana"] -dom: ["rep","factual"] -rep: ["dom","cera"] -ecuador: ["haiti","mozambique"] -el: ["salvador","zimbabwe"] -salvador: ["el","jamaica"] -fiji: ["bolivia","philippines"] -gabon: ["mozambique","philippines"] -guatemala: ["belize","haiti"] -guyana: ["malawi","madagascar"] -haiti: ["ecuador","fiji"] -india: ["jamaica","bolivia"] -jamaica: ["belize","india"] -madagascar: ["guyana","malawi"] -malawi: ["barbados","guyana"] -mauritius: ["guyana","fiji"] -mexico: ["considerations","delay"] -mozambique: ["gabon","bolivia"] -papua: ["guinea","nil"] -guinea: ["papua","nil"] -paraguay: ["bolivia","peru"] -peru: ["paraguay","mozambique"] -philippines: ["fiji","gabon"] -stchristopher: ["there","factual"] -nevis: ["india","jamaica"] -swaziland: ["barbados","congo"] -taiwan: ["barbados","belize"] -thailand: ["mozambique","bolivia"] -trinidad: ["tobago","haiti"] -tobago: ["trinidad","taiwan"] -zimbabwe: ["bolivia","india"] -loading: ["there","doubts"] -load: ["waiting","ships"] -express: ["closed","comment"] -remained: ["silent","highly"] -silent: ["remained","believes"] -rumors: ["comment","variation"] -spinoff: ["speculated","some"] -shearson: ["elevating","partially"] -lehman: ["salomon","brothers"] -brothers: ["salomon","lehman"] -move: ["unhappy","considering"] -unhappy: ["move","considering"] -lift: ["closed","believes"] -rumor: ["accompanied","lift"] -partially: ["public","calculated"] -public: ["partially","calculated"] -command: ["components","partially"] -value: ["boosting","variation"] -boosting: ["value","variation"] -talk: ["administrations","formally"] -financial: ["stability","suffield"] -services: ["boost","split"] -boost: ["services","split"] -closed: ["express","lift"] -heavy: ["volume","cera"] -volume: ["heavy","nor"] -comment: ["rumors","highly"] -activity: ["slowdown","slight"] -comments: ["seek","brothers"] -tuesday: ["helped","fuel"] -helped: ["tuesday","fuel"] -fuel: ["helped","tuesday"] -changes: ["fundamental","management"] -at: ["toy","meeting"] -undervalued: ["fully","reflect"] -fully: ["undervalued","reflect"] -reflect: ["undervalued","fully"] -elevating: ["chief","yesterday"] -chief: ["elevating","yesterday"] -officer: ["jeffery","lane"] -jeffery: ["officer","lane"] -lane: ["officer","jeffery"] -position: ["preserve","required"] -vacant: ["created","president"] -created: ["vacant","brian"] -positions: ["chairmen","divisions"] -chairmen: ["divisions","positions"] -divisions: ["chairmen","positions"] -speculated: ["partial","spinoff"] -partial: ["speculated","believes"] -sense: ["contrary","variation"] -contrary: ["variation","sense"] -variation: ["contrary","sense"] -some: ["several","spinoff"] -however: ["disagreed","up"] -disagreed: ["however","speculated"] -center: ["environment","profit"] -contributing: ["believes","express"] -highly: ["believes","i"] -sell: ["reason","alberta"] -perrin: ["lipper","analytical"] -lipper: ["perrin","analytical"] -analytical: ["lipper","perrin"] -questioned: ["better","travel"] -better: ["questioned","travel"] -profitable: ["fetched","bache"] -several: ["complained","some"] -reason: ["sell","strong"] -asset: ["organisation","economic"] -considered: ["spinning","option"] -option: ["spinning","considered"] -spinning: ["option","considered"] -suggests: ["budget","selling"] -larry: ["prudential","eckenfelder"] -eckenfelder: ["prudential","bache"] -prudential: ["eckenfelder","bache"] -bache: ["eckenfelder","prudential"] -believes: ["partial","highly"] -past: ["adapting","speed"] -fetched: ["profitable","shearson"] -big: ["shearsons","premium"] -premium: ["big","shearsons"] -place: ["premium","shearsons"] -shearsons: ["big","premium"] -book: ["premium","big"] -worth: ["bilion","exhibits"] -bilion: ["worth","barrels"] -capitalization: ["larry","prudential"] -plans: ["globally","expand"] -expand: ["globally","plans"] -globally: ["expand","plans"] -they: ["thought","enormous"] -enormous: ["internal","takes"] -internal: ["enormous","takes"] -takes: ["enormous","internal"] -you: ["valuations","realistic"] -realistic: ["you","reflect"] -valuations: ["you","fully"] -enhance: ["kinds","endeavors"] -ability: ["kinds","endeavors"] -kinds: ["endeavors","enhance"] -endeavors: ["kinds","enhance"] -road: ["ef","hutton"] -ef: ["hutton","road"] -hutton: ["ef","road"] -michael: ["ef","hutton"] -lewis: ["that","preclude"] -theyve: ["investing","outlined"] -outlined: ["fact","theyre"] -fact: ["theyre","outlined"] -theyre: ["fact","outlined"] -investing: ["theyve","fact"] -heavily: ["weigh","fact"] -arena: ["that","preclude"] -that: ["preclude","arena"] -preclude: ["that","arena"] -divestitures: ["way","nar"] -way: ["divestitures","paul"] -reduced: ["louisiana","marathon"] -exposure: ["highly","true"] -brokerage: ["components","command"] -travel: ["better","reflect"] -true: ["water","find"] -water: ["true","mark"] -mark: ["lesser","water"] -lesser: ["mark","water"] -components: ["brokerage","command"] -multiple: ["constitute","percentage"] -constitute: ["multiple","percentage"] -contributed: ["after","nars"] -after: ["contributed","lewis"] -liberty: ["star","all"] -star: ["all","liberty"] -payout: ["beverage","special"] -fluctuate: ["declaration","fund"] -feed: ["prices","produce"] -chinese: ["reduce","hog"] -reduce: ["chinese","herd"] -hog: ["reduce","numbers"] -herd: ["reduce","hog"] -pork: ["reduce","herd"] -production: ["world","excesses"] -world: ["account","production"] -numbers: ["start","hog"] -start: ["numbers","hog"] -head: ["deposits","loans"] -projections: ["profitability","assets"] -projected: ["handel","morton"] -fall: ["sharp","projected"] -ivaco: ["steel","coleco"] -steel: ["marshall","ivaco"] -canadian: ["non","key"] -result: ["ceding","noncash"] -minimal: ["rising","noting"] -subsequent: ["substantial","quarters"] -quarters: ["properties","subsequent"] -substantial: ["subsequent","quarters"] -reach: ["levels","humidity"] -continuing: ["high","restored"] -carloadings: ["totaled","grain"] -cars: ["arrivals","corresponding"] -railroads: ["association","ago"] -mill: ["totalled","loadings"] -totalled: ["mill","delivery"] -industrial: ["brierley","minister"] -pacific: ["equity","industrial"] -hong: ["kong","raised"] -kong: ["<hong","hong"] -raised: ["questionmark","hong"] -wrather: ["disclosed","cyclops"] -principally: ["brierley","equity"] -brierley: ["principally","industrial"] -investments: ["thomas","publicly"] -publicly: ["zealand","held"] -zealand: ["publicly","guinea"] -bought: ["robeson","ca"] -when: ["disclosed","wrather"] -disclosed: ["when","wrather"] -purposes: ["investment","month"] -dls: ["vs","profit"] -vs: ["dls","profit"] -diamond: ["shamrock","companies"] -shamrock: ["diamond","<chem>"] -cut: ["days","contract"] -crude: ["postings","changed"] -barrel: ["copany","opening"] -reduction: ["brings","falling"] -brings: ["marathons","posted"] -posted: ["brings","marathons"] -intermediate: ["sour","texas"] -copany: ["barrel","intermediate"] -weak: ["citing","supply"] -citing: ["weak","markets"] -markets: ["citing","optimism"] -liebert: ["merger","purusant"] -wholly: ["merger","owned"] -emerson: ["receive","wholly"] -electric: ["<emr>","<hong"] -<emr>: ["electric","<hong"] -under: ["shareholder","merger"] -receive: ["emerson","shares"] -coleco: ["carryforwards","ivaco"] -profitability: ["return","enable"] -prepared: ["statement","dramatic"] -swing: ["steep","lane"] -steep: ["swing","divisions"] -cabbage: ["patch","kids"] -patch: ["cabbage","kids"] -kids: ["patch","cabbage"] -changed: ["calender","postings"] -single: ["question","changed"] -diversified: ["organization","coffee"] -enable: ["introductions","return"] -toy: ["fair","at"] -fair: ["toy","president"] -vice: ["senior","president"] -morton: ["handel","projected"] -handel: ["morton","projected"] -reasonable: ["cake","standing"] -subsidiaries: ["engaged","pipeline"] -engaged: ["subsidiaries","pipeline"] -post: ["subject","boost"] -closing: ["adjustments","explain"] -explain: ["adjustments","closing"] -miami: ["affiliated","group"] -fundamental: ["changes","led"] -robeson: ["bought","wrather"] -jan: ["postings","feb"] -study: ["preparing","specific"] -robesons: ["afterwards","recommend"] -afterwards: ["robesons","recommend"] -carl: ["singer","elected"] -singer: ["carl","elected"] -elected: ["carl","singer"] -shortly: ["accounting","government"] -accounting: ["shortly","office"] -office: ["representatives","budget"] -gao: ["expanded","specific"] -cost: ["certificates","less"] -outlays: ["administration","industry"] -administration: ["consideration","outlays"] -industry: ["outlays","sectors"] -sources: ["consideration","administration"] -analysis: ["spriggs","petroleum"] -budget: ["office","suggests"] -reuters: ["interviewed","confident"] -preparing: ["specific","certificate"] -specific: ["preparing","handler"] -request: ["clear","moscow"] -sen: ["jesse","charles"] -jesse: ["helms","sen"] -helms: ["jesse","sen"] -r: ["grassley","charles"] -nc: ["sen","helms"] -senate: ["committee","yemen"] -committee: ["senate","agriculture"] -focus: ["negative","cost"] -released: ["scheduled","mid"] -source: ["less","if"] -depends: ["if","encourage"] -programs: ["impact","matrix"] -usda: ["urged","eep"] -if: ["encourage","determines"] -determines: ["encourage","if"] -encourage: ["if","determines"] -entries: ["forfeitures","loan"] -forfeitures: ["entries","loan"] -up: ["however","determined"] -caused: ["stockpile","government"] -stockpile: ["caused","allowed"] -decrease: ["brings","marathons"] -less: ["decrease","source"] -expanded: ["gao","slowed"] -negative: ["questionmark","focus"] -fire: ["negative","superior+"] -weigh: ["heavily","increase"] -consultant: ["agricultural","expanded"] -omb: ["expansion","agricultural"] -expansion: ["omb","michel"] -remains: ["firmly","committed"] -firmly: ["remains","committed"] -committed: ["remains","firmly"] -writedowns: ["noncash","unrealized"] -unrealized: ["writedowns","earners"] -losses: ["earners","writedowns"] -ten: ["div","qtly"] -opec: ["optimistic","pact"] -forced: ["meet","advantage"] -meet: ["advantage","forced"] -readdress: ["session","june"] -agreement: ["slide","reiterate"] -slide: ["halt","organization"] -movement: ["easy","higher"] -easy: ["movement","constitute"] -thought: ["sort","emergency"] -emergency: ["thought","optimistic"] -sort: ["thought","internal"] -problems: ["optimistic","daniel"] -daniel: ["yergin","director"] -yergin: ["director","daniel"] -director: ["yergin","daniel"] -cambridge: ["yergin","daniel"] -associates: ["cera","research"] -cera: ["associates","research"] -problem: ["address","opecs"] -faces: ["excess","excellent"] -excess: ["supply","faces"] -opecs: ["problem","hold"] -issue: ["mlotok","addressed"] -addressed: ["issue","paul"] -paul: ["addressed","mlotok"] -mlotok: ["issue","paul"] -salomon: ["brothers","lehman"] -optimism: ["repeated","markets"] -keep: ["output","reiterate"] -pessimistic: ["address","outlook"] -address: ["pessimistic","optimistic"] -wishes: ["regain","initiative"] -regain: ["wishes","initiative"] -uncertain: ["doubtful","analysts"] -bpd: ["closer","clearly"] -learn: ["buyers","then"] -deemed: ["fixed","quotas"] -differentials: ["fixed","quotas"] -regional: ["minister","manager"] -manager: ["spoke","regional"] -spoke: ["manager","major"] -condition: ["excellent","satisfactory"] -teach: ["lesson","added"] -lesson: ["teach","added"] -added: ["lesson","teach"] -david: ["t","mideast"] -t: ["david","editor"] -mizrahi: ["slackens","t"] -editor: ["t","mideast"] -mideast: ["david","editor"] -optimistic: ["problems","principal"] -principal: ["amount","debenures"] -advantage: ["meet","forced"] -winter: ["clearly","excess"] -slackens: ["mizrahi","t"] -reiterate: ["keep","agreement"] -output: ["keep","reiterate"] -critical: ["months","extended"] -hold: ["pact","ability"] -pact: ["hold","weeks"] -then: ["learn","dillard"] -dillard: ["buyers","then"] -spriggs: ["petroleum","analysis"] -petroleum: ["marathon","spriggs"] -bijan: ["moussavar","rahmani"] -moussavar: ["bijan","rahmani"] -rahmani: ["moussavar","bijan"] -harvard: ["rahmani","universitys"] -universitys: ["bijan","harvard"] -environment: ["policy","center"] -policy: ["environment","center"] -rising: ["minimal","because"] -prompted: ["excesses","herd"] -excesses: ["prompted","keep"] -clearly: ["closer","winter"] -closer: ["bpd","clearly"] -characterized: ["cheating","thought"] -cheating: ["characterized","thought"] -interview: ["telephone","distance"] -cenergy: ["for","fourth"] -properties: ["quarters","gas"] -following: ["receive","offers"] -calender: ["changed","end"] -noncash: ["writedowns","result"] -barrels: ["bilion","loans"] -cubic: ["feet","bcf"] -feet: ["cubic","bcf"] -bcf: ["feet","gas"] -disappear: ["produce","recover"] -produce: ["disappear","recover"] -recover: ["produce","disappear"] -torchmark: ["regularly","robeson"] -subordinated: ["convertible","debentures"] -debentures: ["redeem","portion"] -as: ["consequence","equipment"] -amount: ["debenures","principal"] -debenures: ["amount","principal"] -redeem: ["globally","plans"] -senior: ["drexel","burnham"] -drexel: ["senior","burnham"] -burnham: ["drexel","another"] -lambert: ["father","lehman"] -father: ["lambert","angeles"] -epsilon: ["acquired","data"] -thomas: ["ca","professor"] -drexels: ["los","angeles"] -los: ["angeles","drexels"] -angeles: ["los","university"] -retired: ["los","drexels"] -university: ["angeles","los"] -professor: ["ca","thomas"] -ca: ["professor","thomas"] -seek: ["control","ceding"] -nova: ["minister","non"] -owns: ["relatives","nine"] -husky: ["relatives","ceding"] -<union: ["transaction","faith"] -faith: ["<union","union"] -holding: ["promexpo","ltd>"] -ltd>: ["<hong","whampoa"] -minister: ["regional","industrial"] -michel: ["cote","faiths"] -cote: ["michel","ruled"] -ruled: ["cote","michel"] -union: ["faith","faiths"] -faiths: ["michel","cote"] -ceding: ["result","husky"] -non: ["ruling","key"] -ruling: ["non","key"] -key: ["non","ruling"] -completing: ["deal","surpluses"] -deal: ["completing","speed"] -equally: ["<hutchison","whampoa"] -<hutchison: ["equally","whampoa"] -whampoa: ["<hutchison","equally"] -<hong: ["ltd>","electric"] -private: ["consumption","slow"] -relatives: ["li","nine"] -li: ["relatives","husky"] -ka: ["shing","hutchison"] -shing: ["hutchison","ka"] -hutchison: ["shing","ka"] -imperial: ["commerice","statistical"] -commerice: ["imperial","statistical"] -excludes: ["extraordinary","mths"] -power: ["virginia","dominion"] -suffield: ["shamrock","regulatory"] -coastal: ["me","bancorp"] -bancorp: ["<csbk>","coastal"] -<csbk>: ["bancorp","coastal"] -me: ["coastal","bancorp"] -superintendent: ["maines","banking"] -maines: ["superintendent","banking"] -banking: ["sector","tourism"] -<camco: ["inc>","improvements"] -santa: ["realty","anita"] -anita: ["realty","enterprises"] -realty: ["anita","enterprises"] -enterprises: ["anita","realty"] -marshall: ["drummond","steel"] -drummond: ["mccall","marshall"] -mccall: ["drummond","marshall"] -switzerlands: ["given","combining"] -combining: ["switzerlands","low"] -unemployment: ["leaving","workforce"] -stability: ["external","large"] -large: ["representing","given"] -external: ["stability","given"] -excellent: ["satisfactory","faces"] -satisfactory: ["excellent","surplus"] -organisation: ["economic","cooperation"] -economic: ["organisation","cooperation"] -cooperation: ["organisation","economic"] -oecd: ["balances","picked"] -reflected: ["success","tight"] -success: ["reflected","tight"] -tight: ["reflected","success"] -monetary: ["policies","allowed"] -policies: ["monetary","government"] -picked: ["oecd","<sedio"] -signs: ["pick","slowdown"] -slowdown: ["slight","signs"] -slight: ["slowdown","activity"] -pick: ["signs","slight"] -concern: ["grows","domestic"] -forecast: ["gross","decline"] -gross: ["domestic","decline"] -small: ["consumer","gdpwhich"] -rise: ["consumer","small"] -consumer: ["small","rise"] -sharp: ["fall","years"] -job: ["creation","modest"] -creation: ["job","absorb"] -absorb: ["creation","job"] -modest: ["job","creation"] -workforce: ["leaving","unemployment"] -leaving: ["workforce","unemployment"] -lowest: ["unchanged","industrial"] -nation: ["area","oecd"] -area: ["nation","oecd"] -assuming: ["francs","swiss"] -swiss: ["assuming","term"] -francs: ["assuming","swiss"] -half: ["dollar","second"] -rises: ["inflation","exports"] -faster: ["grows","vigorous"] -last: ["reflecting","buoyant"] -reflecting: ["last","buoyant"] -buoyant: ["reflecting","last"] -consumption: ["appeared","real"] -meant: ["reflecting","slow"] -contribution: ["gdp","crisis"] -gdp: ["contribution","crisis"] -shrink: ["weakness","relative"] -given: ["switzerlands","external"] -grows: ["concern","domestic"] -gdpwhich: ["contribute","way"] -contribute: ["gdpwhich","way"] -balances: ["oecd","international"] -real: ["unusually","slow"] -appeared: ["consumption","real"] -unusually: ["real","slow"] -relative: ["weakness","noted"] -weakness: ["relative","noted"] -noted: ["relative","weakness"] -slow: ["unusually","real"] -outstrip: ["languished","inflation"] -plant: ["machinery","allow"] -machinery: ["consequence","equipment"] -bright: ["capacity","restored"] -capacity: ["bright","decembers"] -scope: ["rationalisation","modernisation"] -rationalisation: ["scope","modernisation"] -modernisation: ["scope","rationalisation"] -sectors: ["sector","industry"] -consequence: ["machinery","equipment"] -equipment: ["consequence","manufactures"] -decelerate: ["rationalisation","land"] -vigorous: ["enormous","takes"] -questionmark: ["raised","negative"] -tourism: ["sector","banking"] -sector: ["tourism","banking"] -earners: ["losses","debt"] -term: ["appreciation","franc"] -appreciation: ["term","franc"] -franc: ["term","appreciation"] -accelerating: ["deregulation","earners"] -deregulation: ["accelerating","banking"] -lead: ["loss","carryforwards"] -particularly: ["recent","developments"] -recent: ["particularly","developments"] -developments: ["recent","particularly"] -question: ["subsidy","single"] -flexibility: ["adapting","past"] -adapting: ["flexibility","speed"] -speed: ["adapting","past"] -required: ["to","preserve"] -to: ["preserve","required"] -preserve: ["competitive","to"] -competitive: ["preserve","to"] -actively: ["considering","offering"] -subsidized: ["reagan","offering"] -soviet: ["counterparts","talks"] -eep: ["request","administrations"] -fired: ["examples","companies"] -aide: ["lyng","richard"] -secretary: ["richard","agriculture"] -richard: ["lyng","secretary"] -lyng: ["richard","aide"] -formally: ["informally","tonight"] -most: ["confident","interviewed"] -interviewed: ["confident","most"] -confident: ["most","interviewed"] -soviets: ["hint","live"] -counterparts: ["talks","formal"] -reagan: ["subsidized","decide"] -decide: ["favor","reagan"] -moscow: ["request","clear"] -sailing: ["i","reintroducing"] -interagency: ["administrations","review"] -an: ["consummated","representing"] -consummated: ["enhancement","overnight"] -overnight: ["consummated","export"] -favor: ["decide","extended"] -china: ["subsidy","crops"] -subsidy: ["china","question"] -representing: ["large","an"] -deliberations: ["nudged","members"] -nudged: ["deliberations","members"] -members: ["nudged","congress"] -congress: ["complained","members"] -number: ["urged","congress"] -urged: ["number","usda"] -lyngs: ["exemption","visit"] -visit: ["lyngs","exemption"] -capitol: ["hill","press"] -hill: ["press","capitol"] -house: ["disarray","hill"] -press: ["hill","capitol"] -administrations: ["interagency","talk"] -comprised: ["subcabinet","asked"] -subcabinet: ["comprised","asked"] -asked: ["subcabinet","comprised"] -clear: ["request","jesse"] -representatives: ["office","trade"] -sides: ["talks","formal"] -consultations: ["calm","described"] -described: ["consultations","calm"] -calm: ["consultations","described"] -basic: ["factual","economics"] -factual: ["economics","basic"] -economics: ["factual","basic"] -another: ["informal","not"] -informal: ["another","not"] -suggestion: ["hint","live"] -hint: ["suggestion","live"] -live: ["hint","suggestion"] -pledge: ["form","buy"] -granted: ["provide","undisclosed"] -consideration: ["administration","sources"] -groups: ["follow","demands"] -delayed: ["stemming","disarray"] -disarray: ["delayed","stemming"] -stemming: ["delayed","disarray"] -iran: ["arms","affair"] -arms: ["affair","iran"] -affair: ["arms","iran"] -<versatile: ["corp>","uruguay"] -corp>: ["<versatile","explain"] -alberta: ["principle","versatile"] -versatile: ["principle","alberta"] -noble: ["cultivators","vicon"] -cultivators: ["noble","ontario"] -vicon: ["noble","cultivators"] -ontario: ["cultivators","vicon"] -undisclosed: ["granted","shareholder"] -manufactures: ["tillage","spraying"] -tillage: ["manufactures","spraying"] -spraying: ["manufactures","tillage"] -groupe: ["promexpo","videotron"] -videotron: ["groupe","ltd"] -promexpo: ["groupe","videotron"] -specializes: ["exhibits","three"] -exhibits: ["specializes","worth"] -texaco: ["canada","postings"] -benchmark: ["hills","edmonton"] -edmonton: ["swann","hills"] -swann: ["edmonton","hills"] -hills: ["benchmark","edmonton"] -sweet: ["louisiana","grade"] -bbl: ["sour","intermediate"] -postings: ["jan","texaco"] -erodible: ["cropland","signing"] -cropland: ["erodible","signing"] -enrolled: ["land","erodible"] -charles: ["grassley","sen"] -grassley: ["charles","sen"] -iowa: ["grassley","charles"] -indicated: ["consider","extend"] -consider: ["indicated","exemption"] -signing: ["erodible","cropland"] -doubtful: ["richard","lyngs"] -retroactive: ["bonus","accepted"] -land: ["conservation","enrolled"] -how: ["referring","tide"] -tide: ["how","referring"] -referring: ["how","tide"] -demands: ["follow","groups"] -follow: ["demands","groups"] -marathon: ["petroleum","co"] -grades: ["contract","pay"] -marathons: ["brings","posted"] -sour: ["bbl","texas"] -louisiana: ["sweet","grade"] -grown: ["failed","inadvertantly"] -failed: ["inadvertantly","certify"] -certify: ["inadvertantly","failed"] -allowed: ["policies","monetary"] -planting: ["eligible","crop"] -eligible: ["planting","farmer"] -restrict: ["plantings","crops"] -plantings: ["restrict","crops"] -crops: ["restrict","plantings"] -acreage: ["base","valuable"] -complained: ["congress","several"] -inadvertantly: ["failed","certify"] -lose: ["brly","corn"] -allow: ["historic","oats"] -historic: ["allow","oats"] -extend: ["exemption","lyngs"] -exemption: ["extend","lyngs"] -circuit: ["maker","ionic"] -ionic: ["circuit","maker"] -maker: ["boards","circuit"] -boards: ["maker","circuit"] -pretax: ["profits","concentrated"] diff --git a/notmnist.png b/notmnist.png index ff73904c6688b7784a03343d7e4043cef58470f7..1f6910564165e6eb2b8651c3ff261c15b5e3bc41 100644 GIT binary patch delta 12767 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 TCy(FU86qhvD^e(=>-|3f7l@0* delta 14064 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

FtfE|zCMblmG6DUmUNg3IjWf&1 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 tF} train input n label alpha) net pairs + let el = map (\(e, l, _) -> (e, l)) (chart session) + ea = map (\(e, _, a) -> (e, a)) (chart session) + + when (drawChart session) $ do + toFile Chart.def (chartName session) $ do + Chart.layoutlr_title Chart..= "loss over time" + Chart.plotLeft (Chart.line "loss" [el]) + Chart.plotRight (Chart.line "learningRate" [ea]) + return session { network = newnet , epoch = epoch session + 1 } @@ -285,10 +298,11 @@ module Sibe let el = map (\(e, l, _) -> (e, l)) (chart session) ea = map (\(e, _, a) -> (e, a)) (chart session) - toFile Chart.def "sgd.png" $ do - Chart.layoutlr_title Chart..= "loss over time" - Chart.plotLeft (Chart.line "loss" [el]) - Chart.plotRight (Chart.line "learningRate" [ea]) + when (drawChart session) $ do + toFile Chart.def (chartName session) $ do + Chart.layoutlr_title Chart..= "loss over time" + Chart.plotLeft (Chart.line "loss" [el]) + Chart.plotRight (Chart.line "learningRate" [ea]) return session { network = newnet , epoch = epoch session + 1