carette
2017-11-15 16:46:30

Working on section 4.2 now.


samth
2017-11-15 16:50:06

@pravnar @rjnw how are we doing for benchmarks/plotting?


pravnar
2017-11-15 18:14:24

I coded up the sampling+plotting infrastructure for the Gibbs benchmarks. These Gibbs samplers have knobs that need to be tuned (per benchmark) in order to zoom in on interesting parts of the plots. I am going to experiment with various knob settings now (starting with GmmGibbs), which involves repeatedly invoking a ‘tune->sample->plot’ pipeline.


rjnw
2017-11-15 18:33:18

I implemented the same knob stuff for our benchmark. And will try to have the rest three running asap. I already added the times for clinical trial and linear regression in the output folder. Those time are in microseconds


samth
2017-11-15 18:34:52

I think we should format all times in milliseconds, does that seem reasonable? or is it better to use microseconds instead of fractions of milliseconds?


rjnw
2017-11-15 19:15:10

Well mine is even fractions of microseconds. I time in nano.


samth
2017-11-15 19:21:07

Sure


samth
2017-11-15 19:21:29

But I don’t think the scale matters, and ms is pretty standard


samth
2017-11-15 19:22:03

@pravnar you can probably catch me and @ccshan after my lecture


pravnar
2017-11-15 19:23:02

Cool! Thanks


carette
2017-11-15 19:45:34

I’ve just pushed a decent version of section 4.2.


carette
2017-11-15 19:46:37

Is now a decent time to edit section 5?


samth
2017-11-15 21:47:06

Sounds good, @carette


samth
2017-11-15 21:47:20

@rjnw @pravnar what units are the checked-in benchmarks in?


samth
2017-11-15 21:47:31

It sounds like the rkt output is all in microseconds


rjnw
2017-11-15 21:48:01

I was talking to praveen it seems he needs to change somethings in gmmGibbs benchmark


rjnw
2017-11-15 21:48:10

So we are working on that.


samth
2017-11-15 21:48:20

how long does it take to run a benchmark, just ballpark?


rjnw
2017-11-15 21:48:36

hmm the clinicalTrial was total around 1 min


rjnw
2017-11-15 21:48:53

but the gmm ones maybe longer


samth
2017-11-15 21:48:56

ok


rjnw
2017-11-15 21:49:05

I am not sure about haskell though


samth
2017-11-15 21:51:10

and are those numbers indeed in microseconds?


rjnw
2017-11-15 21:51:17

for now yes


samth
2017-11-15 21:51:30

ok


rjnw
2017-11-15 21:51:32

I am using get_clock for getting process time


rjnw
2017-11-15 21:51:58

with nanosecond precision


samth
2017-11-15 21:52:14

I added that to the readme


ccshan
2017-11-15 23:56:59

@carette, we hope you’ll be done with the histogram section soon, and then one helpful thing is if you could shorten the simplification section by 1.5 pages, such as by removing some intermediate steps in the longer equational derivations that include scary integral signs.


samth
2017-11-16 00:12:56

for people not in Lindley, I wrote an Intro


carette
2017-11-16 00:27:47

@ccshan I am as done as I can be - someone else needs to read it and give feedback before I can meaningfully improve it more.


carette
2017-11-16 00:28:25

I can indeed work on shortening the simplification section. 1.5 pages is a tall order! I’ll see what I can do.


ccshan
2017-11-16 01:23:53

Ok let me read it over…

In the context of Section 4, the index variable of the sum that we want to turn into a histogram is not i but j. (See for example the displayed equation above Section 4.1 and the line above that.) So switching to i in Section 4.2 is jarring, so i should be renamed to j.


carette
2017-11-16 01:30:09

Can do.


carette
2017-11-16 01:30:36

(I will be a little delayed, my furnace went out, and it’s cold out here. Repairman is here, but…)


carette
2017-11-16 01:34:32

Will do that now-ish, in fact, as that is important to get right. Shortening can be done by many people.


ccshan
2017-11-16 01:39:59

Another thing: the word “piecewise” is undefined.


carette
2017-11-16 01:47:19

It is only used in the text, as a word which I thought was well understood. I guess I could spell it piece-wise?


carette
2017-11-16 01:47:37

I did not mean ‘piecewise’ in the sense of Maple, but in the sense used in mathematics.


ccshan
2017-11-16 01:52:49

It is a bad sign that you use “piecewises” as a noun. But to take a more concrete example, I have trouble understanding the sentence “The first rewrite takes all piecewise-defined functions which do not depend on the summation variable i, and translates them to a Fanout.”

What “first rewrite”? (Maybe collect all the rewrite rules into a figure? Currently the enumerate items 3 and 4 are especially ugly.)

What functions? (There are a lot of functions around, so maybe say what piecewise-defined functions there are in the simple example above Section 4.1?)

If “this is implemented via term rewriting” then I expect rewriting rules. I see equations and I’m not sure how to interpret them as term rewrites — for example, enumerate item 1 seems to contain a where clause that invokes “histogram” as a function.


ccshan
2017-11-16 01:54:18

"[0..n–1]" is Haskellism to be avoided


ccshan
2017-11-16 01:54:31

There is already a symbol for natural numbers I prefer; it’s \iplus


ccshan
2017-11-16 01:54:58

The right hand side for the Split needs a right paren?


carette
2017-11-16 01:58:22

Could you perhaps give a go at dealing with some of that? I’ve started the shortening process of the simplification section.


carette
2017-11-16 01:59:59

Also, my LaTeX-fu is weaker than yours, so it would take me a very long time to put the ‘rewrites’ into a proper figure. [I do agree I should have used some arrow rather than =, I insufficiently translated from the markdown]


ccshan
2017-11-16 03:12:55

I’m still in Section 2 (after helping Praveen with coercion problems that would have entertained you), so please do your best to address the above issues by revising the text. It’s not just about the LaTeX. Feel free to stick a bunch of $$s into a \begin{figure} or \begin{figure*} and tell me to line them up.


samth
2017-11-16 03:22:26

it’s barely colder in Hamilton than in Bloomington :wink:


carette
2017-11-16 03:54:27

A tiny bit colder in Waterloo than Hamilton, but surprisingly similar to Bloomington.


carette
2017-11-16 03:56:29

Ok, I’ve shortened section 3. I think by about a page. I will now go back to 4.2 and try to deal with as many of the above as I can.


samth
2017-11-16 04:28:37

@ccshan What’s the status of section 2?


samth
2017-11-16 04:31:07

@rjnw What’s the benchmark status? I see that your commit messages suggest things are working


rjnw
2017-11-16 04:32:01

yes I am running gmmgibbs right now


rjnw
2017-11-16 04:32:09

just debugging the printer


rjnw
2017-11-16 04:32:19

will push the results in a few minutes


samth
2017-11-16 04:32:48

great!


ccshan
2017-11-16 04:34:06

@samth Still writing, active progress on Section 2.


carette
2017-11-16 04:37:09

I have improved 4.2 (piecewise gone, a few other things). I’ll continue on this tomorrow morning.


ccshan
2017-11-16 05:07:09

I wrote Section 2. The paper is connected now! Lots of smoothing may commence.


samth
2017-11-16 05:08:21

woo


samth
2017-11-16 05:09:42

@ccshan if you can fix the citations in section 1, that would help with editing for space


ccshan
2017-11-16 05:13:00

ok i’ll do that


ccshan
2017-11-16 05:13:56

predicting the impact of medical treatment~\cite{?} ??!


samth
2017-11-16 05:15:23

is the clinical trials model not based on anything real?


ccshan
2017-11-16 05:15:38

probably not; it looks p contrived


samth
2017-11-16 05:15:52

ok


ccshan
2017-11-16 05:16:01

but I’m sure I ca nfind something


samth
2017-11-16 05:16:01

maybe some better example is needed then


samth
2017-11-16 05:27:52

also there’s a … in the intro which I couldn’t fill in (in the summary of sections)


samth
2017-11-16 05:28:01

but maybe that should all move into 2?


ccshan
2017-11-16 05:29:03

Maybe to all. I’m just collecting a,bunch,of,stuff


samth
2017-11-16 05:29:07

section 2 looks quite nice tho


samth
2017-11-16 05:29:36

I think that’s it for me tonight, and I’ll edit/help integrate benchmark data tomorrow


samth
2017-11-16 05:29:50

@rjnw hopefully you’ll have plottable data by tomorrow morning?


rjnw
2017-11-16 05:33:11

oh yeah


rjnw
2017-11-16 05:33:38

my computer just ran out of because I had the output file open


rjnw
2017-11-16 05:33:48

RAM, I had to restart :stuck_out_tongue:


pravnar
2017-11-16 05:33:57

@rjnw are you planning on running benchmarks to produce gmmData tonight?


rjnw
2017-11-16 05:34:07

I did already


pravnar
2017-11-16 05:34:12

I ask because Ken and I changed the model a little :confused:


rjnw
2017-11-16 05:34:18

when?


rjnw
2017-11-16 05:34:26

the commit you made today?


rjnw
2017-11-16 05:34:32

I think I incorporated that


pravnar
2017-11-16 05:34:48

No, earlier tonight. A change that I haven’t pushed yet


rjnw
2017-11-16 05:35:18

well hopefully it won’t be change in arguments and inputs


rjnw
2017-11-16 05:35:25

then I don’t have to do much


pravnar
2017-11-16 05:37:14

There’s juuust one more argument :slightly_smiling_face:


pravnar
2017-11-16 05:38:14

And it’s only used in one place (standard deviation of the normal) so it shouldn’t be a difficult change


rjnw
2017-11-16 05:40:00

are you going to make any changes to naive bayes and lda?


pravnar
2017-11-16 05:41:12

I wish I knew


ccshan
2017-11-16 05:41:17

How about mauve?


rjnw
2017-11-16 05:42:17

pravnar
2017-11-16 05:48:14

@rjnw I don’t wanna stop you from getting your code to produce data for all the benchmarks. But fyi there is still some model/knob tuning I will have to do for Naive Bayes and LDA before we can use our runners once again to produce the final data to make pretty figures.


pravnar
2017-11-16 05:53:05

I’m currently tuning the GmmGibbs sampler and comparing it to JAGS.


ccshan
2017-11-16 05:53:18

Citations added


ccshan
2017-11-16 06:06:14

So… Praveen and I are thinking of going home, so we want to make sure that nobody is blocked on us. I understand that @carette is improving 4.2 @samth is smoothing text and directing benchmarking @pravnar is scripting plots and adjusting knobs (currently for GMM) @ccshan is reading and smoothing text @rjnw We’re not sure what you’re running. It’s certainly important that you be ready to run benchmarks, but the knobs for how many seconds, how many sweeps, etc. will have to be finalized with the help of preliminary plots. That said, are you blocked and how might we help?


rjnw
2017-11-16 06:36:22

I have my own knobs which can be modified easily, similar to yours


rjnw
2017-11-16 06:37:16

I copied the semantics of gibbsSweep into my own util. So in the end I will use the same settings as yours


rjnw
2017-11-16 06:37:47

right now I am running the benchmarks with some default knobs as I saw in gibbs and seeing the time and making sure it runs


ccshan
2017-11-16 06:37:58

So have you found knob settings that produce interesting curves (like, with a diagonal part and not just jumping around the same accuracy)


rjnw
2017-11-16 06:38:24

I haven’t plotted the curves


ccshan
2017-11-16 06:38:52

It sounds like the results from your current runs will at least serve as a first cut in plotting the curves and possibly adjusting the knobs


rjnw
2017-11-16 06:38:55

I am just running them and throwing the output into the output folder in the format we discussed


rjnw
2017-11-16 06:39:20

but I have some memory leaks to figure out as it uses my whole ram


ccshan
2017-11-16 06:39:36

So, if you’re waiting, maybe it’s useful for you to look over the paper, especially sections 5, 1, 2.


rjnw
2017-11-16 06:39:52

I will


ccshan
2017-11-16 06:40:27

Hopefully a last resort for working around a memory leak is to restart the process more frequently


pravnar
2017-11-16 06:40:38

A preliminary comparison


rjnw
2017-11-16 06:40:41

haha that is there


pravnar
2017-11-16 06:41:10

@pravnar commented on @pravnar’s file https://racket.slack.com/files/U7Z0QHKJR/F8188QHV0/output.pdf\|output.pdf: This is for the gmm benchmark, just 10 trials per backend


ccshan
2017-11-16 06:41:20

Wow ok


rjnw
2017-11-16 06:41:23

@pravnar is there a script and documentation somewhere to make this plots?


ccshan
2017-11-16 06:41:48

Already I’m wanting some kind of error bar or shading representation of how wide the spread is among the 10 trials per backend


pravnar
2017-11-16 06:41:50

Yeah there is a script called “plots.r” in /output/


pravnar
2017-11-16 06:43:29

@rjnw I will be pushing some updates to that script. My idea is that we run accuracy computers (such as runners/hk/GmmGibbs/Accuracy.hs) to produce data that this script can handle.


ccshan
2017-11-16 06:44:28

And Praveen I think you have some updated hssrc etc files to push?


pravnar
2017-11-16 06:44:37

Yeah


pravnar
2017-11-16 06:44:44

Thanks for the reminder. I will push those too


ccshan
2017-11-16 06:45:26

So eventually Rajan should use the new typechecker


pravnar
2017-11-16 06:46:37

Which means pulling from hakaru repo, building it, and updating his maple archive, yes?


rjnw
2017-11-16 06:50:32

I do that from time to time


rjnw
2017-11-16 06:50:39

whenever there are new changes in hakaru repo


pravnar
2017-11-16 06:52:40

Here’s another quick plot. The only change here is that we take many more snapshots per trial. In other words, I reduced the “stepSeconds” parameter.


ccshan
2017-11-16 07:39:19

oooh aaah