--- Log opened Sun Apr 01 00:00:19 2012 | ||
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 252 seconds] | 00:01 | |
-!- romovpa_ [b064f6fe@gateway/web/freenode/ip.176.100.246.254] has quit [Ping timeout: 245 seconds] | 00:02 | |
gsomix | sonney2k, hey | 00:04 |
---|---|---|
-!- blackburn [~qdrgsm@109.226.79.59] has joined #shogun | 00:11 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 00:13 | |
-!- romovpa [b064f6fe@gateway/web/freenode/ip.176.100.246.254] has joined #shogun | 00:17 | |
gsomix | sonney2k, >:3 | 00:27 |
-!- gsomix [~gsomix@85.26.234.192] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)] | 00:28 | |
-!- romovpa [b064f6fe@gateway/web/freenode/ip.176.100.246.254] has quit [Ping timeout: 245 seconds] | 00:29 | |
-!- Vuvu [~Vivan_Ric@115.248.130.148] has quit [Remote host closed the connection] | 00:30 | |
-!- Vuvu [~Vivan_Ric@115.248.130.148] has joined #shogun | 00:34 | |
-!- blackburn [~qdrgsm@109.226.79.59] has quit [Quit: Leaving.] | 00:42 | |
-!- blackburn [~qdrgsm@109.226.79.59] has joined #shogun | 00:45 | |
PhilTillet | blackburn, are you sleeping? :D | 01:10 |
blackburn | no | 01:10 |
PhilTillet | yay, i'm not the only one awake! | 01:10 |
blackburn | yeah but I'm going to | 01:10 |
PhilTillet | ok :D | 01:10 |
blackburn | any news? | 01:11 |
PhilTillet | tried to improve the precision of my GPU thing | 01:11 |
PhilTillet | could it be possible that the shogun implementation is less precise? | 01:11 |
PhilTillet | I computed some operations with octave to debug, and it appeared that the difference between the octave result and my GPU was 0 | 01:12 |
PhilTillet | while the difference between the octave result and the Shogun result was 10^-8 | 01:12 |
blackburn | hmm | 01:12 |
blackburn | gaussian kernel right? | 01:14 |
PhilTillet | yes | 01:14 |
PhilTillet | but | 01:14 |
PhilTillet | i changed the source to remove the exponential | 01:14 |
PhilTillet | to isolate the roundoff error | 01:14 |
PhilTillet | oooh | 01:14 |
PhilTillet | static inline float32_t dot( | 01:15 |
PhilTillet | 00702 const float32_t* v1, const float32_t* v2, int32_t n) | 01:15 |
blackburn | which source? | 01:15 |
PhilTillet | shouldn't the result be float64_t??? | 01:15 |
PhilTillet | oops sorry for the 00702, it's a line number | 01:15 |
blackburn | what is it? | 01:15 |
PhilTillet | the CMath::dot | 01:15 |
blackburn | there should be 64 one | 01:15 |
PhilTillet | yes | 01:16 |
PhilTillet | but the 64 one takes float64_t* as input | 01:16 |
PhilTillet | while the features are float32_t | 01:16 |
-!- exodus [d078ac53@gateway/web/freenode/ip.208.120.172.83] has joined #shogun | 01:16 | |
PhilTillet | and we want a float64_t result | 01:16 |
-!- exodus is now known as Guest72523 | 01:16 | |
PhilTillet | i'll try to change that | 01:17 |
blackburn | why your features are 32? | 01:17 |
PhilTillet | I took a test case from shogun's examples | 01:17 |
PhilTillet | and the features were 32 | 01:17 |
PhilTillet | while the labels and alphas were 64 | 01:17 |
blackburn | ah that can cause the problem | 01:18 |
PhilTillet | this way twice more features feat in memory | 01:18 |
PhilTillet | fit* | 01:18 |
PhilTillet | I mean, that 32 bit dot function is strange in any case | 01:20 |
PhilTillet | cause the internal result is 64 bit | 01:20 |
PhilTillet | but it casted at return time | 01:20 |
blackburn | ah yes | 01:20 |
blackburn | I agree | 01:20 |
blackburn | that can be a patch | 01:21 |
blackburn | if you want | 01:21 |
PhilTillet | yes :p | 01:21 |
PhilTillet | i will release it as a patch with my GPU apply function | 01:21 |
blackburn | ok | 01:21 |
PhilTillet | :p | 01:21 |
PhilTillet | (which is not ready yet :D) | 01:21 |
PhilTillet | (trying to fix that round off error first) | 01:21 |
blackburn | so will you send proposal only for gpu stuff? | 01:21 |
PhilTillet | Maybe for Built generic multiclass learning framework too | 01:23 |
PhilTillet | but I mean | 01:23 |
PhilTillet | my main proposal will be the OpenCL one | 01:24 |
blackburn | ok I think it would be ok to to combine something | 01:24 |
n4nd0 | good night guys | 01:24 |
PhilTillet | good night n4nd0 | 01:24 |
blackburn | n4nd0: good night | 01:24 |
PhilTillet | blackburn, what do you mean? | 01:24 |
blackburn | PhilTillet: I mean it is ok to propose some complex idea | 01:25 |
blackburn | as I think | 01:25 |
blackburn | anyway what would you suggest as OpenCL project? | 01:25 |
PhilTillet | something big | 01:25 |
PhilTillet | At least a complete SVM on GPU | 01:26 |
PhilTillet | well at least for basic kernels | 01:26 |
PhilTillet | i don't know if string kernels could be done on time | 01:26 |
PhilTillet | I think yes | 01:26 |
blackburn | string kernels can't be very optimized with gpu | 01:27 |
blackburn | but linear svms are still there :) | 01:27 |
PhilTillet | well, I was thinking about any kernel but string kernels, apply and training | 01:27 |
PhilTillet | and if I have time, maybe custom kernels | 01:27 |
blackburn | gpu accelerated liblinear sounds like something interesting I think | 01:29 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 264 seconds] | 01:29 | |
PhilTillet | I could make custom kernels very neat using the tool i developed for ViennaCL (and wrote a paper for) | 01:29 |
PhilTillet | but that tool (automatic OpenCL code generator) is not advanced enough yet at the moment | 01:29 |
PhilTillet | so people could write custom kernels without any OpenCL knowledge | 01:30 |
blackburn | I think you should focus on linear things | 01:30 |
blackburn | and then start with kernels | 01:30 |
PhilTillet | yes I think that too | 01:30 |
PhilTillet | but linear thing would I think not require the whole summer | 01:31 |
blackburn | depends.. :D | 01:31 |
PhilTillet | well wait | 01:31 |
PhilTillet | define "things" | 01:31 |
PhilTillet | :p | 01:31 |
blackburn | to port whole liblinear to gpu effectively is something hard to carry out I think | 01:31 |
PhilTillet | I'll ask a newbish question, what's the difference between liblinear and libsvm? | 01:32 |
@sonney2k | blackburn, and I don't expect it to be fast either... | 01:32 |
@sonney2k | libsvm might be more worthwhile to port | 01:32 |
blackburn | sonney2k: good morning | 01:32 |
blackburn | :D | 01:32 |
@sonney2k | yeah good morning ;-) | 01:32 |
blackburn | PhilTillet: liblinear is for training only linear svms | 01:32 |
blackburn | and libsvm is for training kernel ones | 01:33 |
PhilTillet | I see | 01:33 |
blackburn | sonney2k: harshit complained today about ocas/liblinear idea | 01:33 |
blackburn | I said it is pretty out of priority - hey both ocas and linear are up-to-date | 01:33 |
blackburn | don't you think we could remove it? | 01:34 |
-!- Guest72523 [d078ac53@gateway/web/freenode/ip.208.120.172.83] has quit [Quit: Page closed] | 01:35 | |
@sonney2k | blackburn, I expect new liblinear w/ regression support to appear soon (today?) | 01:37 |
blackburn | today? | 01:37 |
blackburn | oh yes | 01:37 |
@sonney2k | well they usually release on april 1 | 01:37 |
blackburn | it is released | 01:37 |
blackburn | oh no | 01:37 |
blackburn | :D | 01:37 |
blackburn | 2011 | 01:37 |
@sonney2k | blackburn, harshit could implement a couple of dotfeatures | 01:38 |
@sonney2k | for example local binary patterns, hog, the approximations for histogram kernel directly as dotfeatures | 01:39 |
@sonney2k | etc | 01:39 |
blackburn | sonney2k: makes sense probably.. | 01:39 |
@sonney2k | PhilTillet, it makes sense to first speed up apply times for kernelmachines (like you do) and distancemachines | 01:41 |
@sonney2k | linear machines too if possilbe | 01:41 |
@sonney2k | but I don't think it is | 01:41 |
PhilTillet | I see | 01:41 |
PhilTillet | why not training time too? | 01:41 |
@sonney2k | because you only need to do w^T x (for lots of x) | 01:41 |
@sonney2k | much more difficult | 01:41 |
@sonney2k | one thing that would directly help is to compute the kernel with opencl | 01:42 |
@sonney2k | but that has to be done for *every* kernel / distance | 01:42 |
@sonney2k | and I guess none of the string kernels will benefit from this | 01:42 |
blackburn | sonney2k: why liblinear team does not list us as wrapper? | 01:43 |
@sonney2k | no idea | 01:43 |
blackburn | as interface* | 01:43 |
blackburn | don't they like shogun? :D | 01:43 |
PhilTillet | sonney2k, well, computing the kernel with OpenCL is what i'm doing for applying no? | 01:43 |
@sonney2k | PhilTillet, not only - you can store all SVs in GPU mem | 01:45 |
@sonney2k | that won't be possible for training | 01:45 |
PhilTillet | oh, right | 01:45 |
PhilTillet | makes things more complicated | 01:46 |
PhilTillet | but well, some people have succeeded in doing full SVM on GPU! | 01:46 |
PhilTillet | :p | 01:46 |
CIA-64 | shogun: Soeren Sonnenburg master * ra1f473c / (9 files in 5 dirs): | 01:47 |
CIA-64 | shogun: Merge pull request #405 from pluskid/gsoc-pullrequest-1 | 01:47 |
CIA-64 | shogun: Accuracy Evaluation for Clustering (+5 more commits...) - http://git.io/D5p_vw | 01:47 |
PhilTillet | and, concerning this round-off error, I changed that dot result but the result is still different | 01:48 |
blackburn | see you later guys | 01:50 |
PhilTillet | see you later | 01:50 |
@sonney2k | PhilTillet, don't you need all training data to be on GPU memory? | 01:51 |
-!- blackburn [~qdrgsm@109.226.79.59] has quit [Quit: Leaving.] | 01:51 | |
PhilTillet | sonney2k, yes, but every trick that can be used with the CPU when the data can't fit in ram can probably be applied to the GPU | 01:53 |
@sonney2k | PhilTillet, well lets assume data fits in ram | 01:54 |
@sonney2k | but not gpu mem | 01:54 |
@sonney2k | what then? | 01:54 |
PhilTillet | good question | 01:55 |
PhilTillet | how do you do on CPU when the data does not fits in ram? | 01:56 |
PhilTillet | online learning? | 01:56 |
@sonney2k | we don't train an svm then | 01:56 |
@sonney2k | but nowadays you can have systems with 64G easily | 01:57 |
PhilTillet | true, RAM can be clusterized | 01:57 |
PhilTillet | not GPU RAM | 01:57 |
PhilTillet | :p | 01:57 |
@sonney2k | and GPU has few 100 MB / max few GB right? | 01:57 |
PhilTillet | well, few GPU have few 100 MB | 01:57 |
PhilTillet | and these GPU probably offer poor GPGPU performance | 01:58 |
PhilTillet | :p | 01:58 |
PhilTillet | there are some dedicated GPU like the Tesla with 4GB | 01:58 |
@sonney2k | so one would need to somehow cache examples that don't fit in memory | 01:58 |
PhilTillet | yes | 01:58 |
@sonney2k | well I would optimize not for dedicated hardware but common hardware | 01:58 |
PhilTillet | yes :p | 01:59 |
PhilTillet | but the GPU RAM can be obtained at runtime | 01:59 |
PhilTillet | but it's true that training SVM on half of the dataset than on the other half is probably not equivalent to train it o the whole dataset | 02:01 |
@sonney2k | PhilTillet, well the most expensive operation is similar to the one you just speed up | 02:03 |
@sonney2k | problem is that the support vectors may change slightly over time | 02:03 |
PhilTillet | Oh I see | 02:03 |
PhilTillet | I thought we were talking about training? | 02:03 |
@sonney2k | yeah that is all that can be speed up in training | 02:04 |
@sonney2k | 90% of the time is kernel comp. | 02:04 |
PhilTillet | I see | 02:04 |
PhilTillet | but no "Support Vectors Matrix" :D | 02:04 |
@sonney2k | yes a matrix of SV's | 02:06 |
@sonney2k | but of course this only holds for real-values inputs | 02:06 |
PhilTillet | yes | 02:06 |
@sonney2k | if we talk about strings -> nogo | 02:07 |
PhilTillet | string kernel computation on GPU must be super uber complicated | 02:07 |
PhilTillet | okay, so for my application, should I focus on liblinear or libsvm? | 02:09 |
@sonney2k | i don't see how you could do anything for liblinear - or can you speed up w^T x when x is not in GPU mem? | 02:10 |
PhilTillet | why wouldn't it be in GPU mem? | 02:10 |
@sonney2k | because it wouldn't fit | 02:13 |
PhilTillet | well, chunks of x will always fit in memory | 02:15 |
PhilTillet | and this is a linear operation | 02:15 |
PhilTillet | so basically it would be about caching x in CPU | 02:16 |
PhilTillet | and loop on transfer chunks on GPU, compute :p | 02:16 |
PhilTillet | with PCI-E the transfer is super fast | 02:16 |
PhilTillet | Oh, and I have confirmation that the precision error rather comes from shogun for that case | 02:18 |
@sonney2k | from where? | 02:19 |
@sonney2k | are kernel matrices the same | 02:19 |
@sonney2k | ? | 02:19 |
PhilTillet | I tested it on a quite simple case | 02:19 |
PhilTillet | #define NUM 2 | 02:19 |
PhilTillet | #define DIMS 1 | 02:19 |
PhilTillet | #define NUM_SV 2 | 02:19 |
PhilTillet | hmm, i was not able to see the kernel matrices | 02:19 |
@sonney2k | please check whether kernel matrices return exactly the same thing | 02:20 |
PhilTillet | how can I display the kernel matrice? | 02:20 |
PhilTillet | (for CPU) | 02:20 |
@sonney2k | first do get_kernel_matrix and then CMath::display_matrix | 02:20 |
@sonney2k | for your proposal - I think it makes sense to focus on any computationally very intense problem so better O(n^2) effort algoritms | 02:21 |
@sonney2k | so kernel machine testing etc first | 02:21 |
@sonney2k | then svmlight training (similar operation that you need for testing) | 02:22 |
PhilTillet | I see | 02:22 |
@sonney2k | libsvm on GPU - there is a paper about it - read it | 02:22 |
@sonney2k | and then liblinear | 02:22 |
@sonney2k | liblinear has some block-decomposition KDD paper | 02:22 |
@sonney2k | where they train when data doesn't fit in ram | 02:23 |
@sonney2k | so this idea could be used for GPU too | 02:23 |
PhilTillet | I see | 02:24 |
PhilTillet | display_matrix does not seem to work on SGMatrix | 02:27 |
@sonney2k | matrix.matrix | 02:29 |
@sonney2k | is the double ptr | 02:29 |
@sonney2k | I have to sleep now... | 02:29 |
PhilTillet | ok, good night | 02:29 |
PhilTillet | :) | 02:29 |
@sonney2k | keep us posted! | 02:29 |
PhilTillet | haha ok :D | 02:30 |
shogun-buildbot | build #413 of java_modular is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/java_modular/builds/413 blamelist: pluskid@gmail.com | 03:01 |
shogun-buildbot | build #409 of python_modular is complete: Failure [failed test_1] Build details are at http://www.shogun-toolbox.org/buildbot/builders/python_modular/builds/409 blamelist: pluskid@gmail.com | 03:28 |
shogun-buildbot | build #405 of ruby_modular is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/ruby_modular/builds/405 blamelist: pluskid@gmail.com | 03:40 |
-!- romi_ [~mizobe@187.74.1.223] has quit [Ping timeout: 246 seconds] | 04:33 | |
-!- romi_ [~mizobe@187.74.1.223] has joined #shogun | 04:35 | |
-!- flxb [~cronor@e178183060.adsl.alicedsl.de] has quit [Quit: flxb] | 04:42 | |
PhilTillet | sonney2k, sent my pull request for fixing the precision issue :p | 04:47 |
-!- PhilTillet [~Philippe@tillet-p42154.maisel.int-evry.fr] has quit [Quit: Leaving] | 04:47 | |
-!- vikram360 [~vikram360@117.192.168.95] has quit [Ping timeout: 246 seconds] | 05:01 | |
shogun-buildbot | build #415 of java_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/java_modular/builds/415 | 05:23 |
-!- vikram360 [~vikram360@117.192.168.95] has joined #shogun | 05:40 | |
shogun-buildbot | build #407 of ruby_modular is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/ruby_modular/builds/407 | 05:43 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 08:10 | |
-!- gsomix [~gsomix@85.26.232.54] has joined #shogun | 08:41 | |
-!- vikram360 [~vikram360@117.192.168.95] has quit [Ping timeout: 276 seconds] | 08:42 | |
gsomix | hi | 08:43 |
-!- vikram360 [~vikram360@117.192.162.252] has joined #shogun | 08:46 | |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 08:46 | |
-!- blackburn [~qdrgsm@109.226.79.59] has joined #shogun | 09:11 | |
gsomix | blackburn, yo | 09:11 |
blackburn | hi | 09:11 |
n4nd0 | already movement around here :) | 09:15 |
n4nd0 | good morning people | 09:15 |
blackburn | n4nd0: hey good morning | 09:15 |
gsomix | good | 09:16 |
CIA-64 | shogun: Chiyuan Zhang master * r92508eb / src/shogun/features/Labels.cpp : | 09:22 |
CIA-64 | shogun: Merge pull request #1 from pluskid/master | 09:22 |
CIA-64 | shogun: bug fix for CLabels::set_int_labels - http://git.io/bGvedw | 09:22 |
CIA-64 | shogun: Sergey Lisitsyn master * rdefbb68 / src/shogun/features/Labels.cpp : Merge branch 'gsoc-pullrequest-1' of git://github.com/pluskid/shogun - http://git.io/9JeaCQ | 09:22 |
blackburn | whoa awful mergees | 09:22 |
n4nd0 | why so? | 09:31 |
Marty28 | morning | 09:33 |
blackburn | n4nd0: look ^ he merged his master to feature branch | 09:35 |
-!- vikram360 [~vikram360@117.192.162.252] has quit [Ping timeout: 246 seconds] | 09:42 | |
n4nd0 | aham I see | 09:44 |
-!- vikram360 [~vikram360@117.192.188.247] has joined #shogun | 09:45 | |
blackburn | n4nd0: check mailing list :) | 09:48 |
n4nd0 | blackburn: reading it right now :) | 09:48 |
n4nd0 | blackburn: I like the references ;) | 09:49 |
-!- vikram360 [~vikram360@117.192.188.247] has quit [Ping timeout: 260 seconds] | 10:00 | |
-!- vikram360 [~vikram360@117.192.186.146] has joined #shogun | 10:00 | |
harshit_ | blackburn: Thanks for that mail, I was having hard time figuring that out . :) | 10:13 |
-!- blackburn [~qdrgsm@109.226.79.59] has quit [Ping timeout: 246 seconds] | 10:28 | |
-!- vikram360 [~vikram360@117.192.186.146] has quit [Ping timeout: 240 seconds] | 10:31 | |
-!- vikram360 [~vikram360@117.192.173.130] has joined #shogun | 10:32 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 264 seconds] | 10:42 | |
-!- blackburn [~qdrgsm@31.28.44.229] has joined #shogun | 10:44 | |
-!- harshit_ [~harshit@182.68.67.61] has quit [Ping timeout: 244 seconds] | 10:48 | |
-!- gsomix [~gsomix@85.26.232.54] has quit [Ping timeout: 246 seconds] | 10:53 | |
-!- gsomix [~gsomix@85.26.233.102] has joined #shogun | 11:07 | |
-!- gsomix [~gsomix@85.26.233.102] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)] | 11:15 | |
-!- gsomix [~gsomix@85.26.233.102] has joined #shogun | 11:15 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 11:31 | |
-!- flxb [~cronor@e178169137.adsl.alicedsl.de] has joined #shogun | 11:33 | |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 11:45 | |
-!- harshit_ [~harshit@182.68.67.61] has quit [Client Quit] | 11:48 | |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 12:18 | |
-!- nickon [~noneedtok@dD5774105.access.telenet.be] has joined #shogun | 12:44 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 12:48 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 246 seconds] | 13:00 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 13:04 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 245 seconds] | 13:10 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 13:17 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 252 seconds] | 13:21 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 13:22 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 276 seconds] | 13:30 | |
-!- PhilTillet [~Philippe@tillet-p42154.maisel.int-evry.fr] has joined #shogun | 13:40 | |
-!- gsomix [~gsomix@85.26.233.102] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)] | 13:41 | |
-!- gsomix [~gsomix@85.26.233.102] has joined #shogun | 13:41 | |
-!- PhilTillet [~Philippe@tillet-p42154.maisel.int-evry.fr] has quit [Ping timeout: 248 seconds] | 14:04 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 14:24 | |
-!- gsomix [~gsomix@85.26.233.102] has quit [Quit: ????? ? ?? ??? (xchat 2.4.5 ??? ??????)] | 14:36 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Operation timed out] | 14:41 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 250 seconds] | 14:51 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 15:38 | |
-!- gsomix [~gsomix@188.168.3.96] has joined #shogun | 15:39 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 15:41 | |
PhilTillet | Hi :p | 16:20 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Ping timeout: 264 seconds] | 16:22 | |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 16:49 | |
-!- harshit_ [~harshit@182.68.67.61] has quit [Remote host closed the connection] | 16:52 | |
Marty28 | hi | 17:00 |
blackburn | hi there | 17:09 |
PhilTillet | hi blackburn | 17:12 |
blackburn | PhilTillet: so did your fix solved your precision problem? | 17:18 |
PhilTillet | yes :D | 17:18 |
blackburn | merging then | 17:18 |
PhilTillet | sent a pull request, but did a little mistake | 17:18 |
blackburn | yes, that's me commented it | 17:18 |
PhilTillet | i used blas_ddot instead of blas_dsdot | 17:19 |
PhilTillet | :p | 17:19 |
PhilTillet | not used to blas | 17:19 |
CIA-64 | shogun: Philippe Tillet master * r08f27a3 / (2 files): Bugfix in dot product for 32bit,32bit vector dot product computation - http://git.io/-TaIIg | 17:21 |
CIA-64 | shogun: Sergey Lisitsyn master * red87836 / (2 files): Merge branch 'master' of git://github.com/PhilippeTillet/shogun - http://git.io/-2Bwcg | 17:21 |
PhilTillet | cool :) | 17:23 |
shogun-buildbot | build #647 of libshogun is complete: Failure [failed compile] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/647 blamelist: blackburn91@gmail.com, Phil.Tillet@gmail.com | 17:27 |
PhilTillet | oh | 17:27 |
PhilTillet | dsdot does not exist? | 17:27 |
blackburn | oh I had to check it | 17:29 |
PhilTillet | that would be too bad if there is no function taking two float vectors and returning a double | 17:30 |
PhilTillet | i was sure there was though :/ | 17:30 |
blackburn | PhilTillet: no that's ok | 17:31 |
blackburn | wrong commit probably | 17:31 |
blackburn | or... | 17:31 |
PhilTillet | http://www.netlib.org/lapack/explore-html/d9/d47/sdsdot_8f_source.html dsdot seems to exist in fortran though | 17:31 |
blackburn | PhilTillet: wait didn't you commit that? | 17:32 |
PhilTillet | commited what? | 17:32 |
blackburn | PhilTillet: dsdot | 17:33 |
PhilTillet | oh oops no | 17:33 |
PhilTillet | thought you would merge with it | 17:33 |
blackburn | :D | 17:33 |
blackburn | ok my bad sorry | 17:33 |
blackburn | I'll fix it | 17:33 |
PhilTillet | ok :) | 17:33 |
blackburn | PhilTillet: dsdot is in blas so no worries | 17:33 |
blackburn | this time I'll check whether it is working | 17:34 |
PhilTillet | ok :) | 17:34 |
blackburn | works | 17:37 |
blackburn | PhilTillet: need your opencl expertise | 17:40 |
blackburn | what kind of graphics card would I need? :D | 17:40 |
PhilTillet | :D | 17:41 |
blackburn | would GT 440 work well? | 17:41 |
PhilTillet | well , should be ok | 17:41 |
PhilTillet | I use GT 540 M | 17:41 |
blackburn | I am actually using notebook with some shity integrated card but I'm going to buy some card for other machine | 17:44 |
blackburn | shogun-buildbot: WORK | 17:48 |
blackburn | ah | 17:49 |
blackburn | :D | 17:49 |
blackburn | yes I probably should commit before that | 17:49 |
CIA-64 | shogun: Sergey Lisitsyn master * rf334179 / src/shogun/mathematics/Math.cpp : Fixes precision issue fix - http://git.io/WP_HXw | 17:49 |
CIA-64 | shogun: Sergey Lisitsyn master * rb43c2ab / src/shogun/mathematics/munkres.cpp : Removed warnings - http://git.io/vVN51Q | 17:49 |
CIA-64 | shogun: Sergey Lisitsyn master * r067287a / (2 files): Added getter for support vector indices for MC liblinear - http://git.io/WOGelg | 17:49 |
blackburn | shogun-buildbot: this time WORK | 17:50 |
PhilTillet | Oh, seems like I still have some precision error... It's weird I was sure they were gone o_o | 17:51 |
PhilTillet | okay, WEIRD | 17:51 |
PhilTillet | sometimes, error = 0, sometimes, error = 10^(-8) | 17:51 |
PhilTillet | no, i tested on my local changes | 17:51 |
PhilTillet | so it should always work | 17:51 |
PhilTillet | :o | 17:51 |
PhilTillet | but still there is some stochastic behaviour | 17:51 |
PhilTillet | hmmm | 17:51 |
shogun-buildbot | build #648 of libshogun is complete: Success [build successful] Build details are at http://www.shogun-toolbox.org/buildbot/builders/libshogun/builds/648 | 17:54 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 245 seconds] | 17:56 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 17:58 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 272 seconds] | 18:03 | |
nickon | are there shogun devs that develop under windows using cygwin ? :) | 18:25 |
blackburn | phew | 18:27 |
n4nd0 | nickon: none pay me for saying this but ... why?? why windows?? | 18:27 |
nickon | :D | 18:28 |
nickon | you are probably right, putting cygwin on windows to develop on windows is pretty silly :) | 18:28 |
n4nd0 | believe me ... linux doesn't bite, nor anything | 18:29 |
n4nd0 | :D | 18:29 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 18:32 | |
nickon | haha, I'm a windows user, but I've been using Linux regularly for some projects | 18:35 |
nickon | I'm not gonna switch to linux for my everyday activity though :) | 18:35 |
n4nd0 | idk, that's a bit up to each one of course | 18:36 |
n4nd0 | but in my opinion, as a developer it is a must to use linux for the job/projects | 18:36 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 276 seconds] | 18:42 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 18:43 | |
PhilTillet | That precision thing is really a headache | 18:43 |
PhilTillet | The commit added stochasticity, now the result for an example is right 50% of the time (with random features betwen 0 and 1) | 18:46 |
PhilTillet | before the patch it was never right :p | 18:46 |
-!- genix [~gsomix@188.168.3.118] has joined #shogun | 18:48 | |
blackburn | ehmm | 18:51 |
-!- gsomix [~gsomix@188.168.3.96] has quit [Ping timeout: 246 seconds] | 18:51 | |
blackburn | PhilTillet: that's pretty strange actually yes | 18:51 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 264 seconds] | 18:52 | |
n4nd0 | so here is a doubt | 19:01 |
n4nd0 | I get this message | 19:01 |
n4nd0 | terminate called after throwing an instance of 'shogun::ShogunException' | 19:01 |
n4nd0 | Aborted | 19:01 |
n4nd0 | in an example | 19:01 |
n4nd0 | it should appear the typical message caused by SG_ERROR, but it doesn't | 19:01 |
n4nd0 | any clue why? | 19:01 |
blackburn | hmm | 19:02 |
n4nd0 | but I find it weird because, for example, when I compile with loglevel MSG_DEBUG | 19:03 |
n4nd0 | I cannot see from this example debug messages | 19:03 |
n4nd0 | I can see them from another with python_modular though | 19:03 |
n4nd0 | "this" example I am talking about is in C++ | 19:03 |
blackburn | n4nd0: ah you need to init shogun there | 19:04 |
n4nd0 | blackburn: it is done | 19:04 |
n4nd0 | blackburn: init_shogun, not init_shogun_with_deaults | 19:04 |
n4nd0 | will try with the 2nd one | 19:04 |
n4nd0 | cool | 19:05 |
n4nd0 | init_shogun_with_defaults made it appear | 19:05 |
blackburn | n4nd0: other option is | 19:05 |
blackburn | take a look at | 19:05 |
blackburn | classifier_minimal_svm.cpp | 19:05 |
n4nd0 | ah all right | 19:06 |
n4nd0 | with the print message stuff | 19:06 |
n4nd0 | blackburn: so spe is taking good shape :) | 19:15 |
blackburn | n4nd0: that's nice | 19:15 |
n4nd0 | blackburn: do you want to check the graphical example? | 19:15 |
blackburn | did you test mds? | 19:15 |
blackburn | sure | 19:15 |
n4nd0 | http://dl.dropbox.com/u/11020840/shogun/spe_helix.png | 19:15 |
n4nd0 | do you mean if I compared it to mds? | 19:15 |
blackburn | damn you catch things really fast | 19:15 |
n4nd0 | :) | 19:16 |
n4nd0 | I have to prepare some details but the main work is done | 19:16 |
n4nd0 | I think I'll have soon it ready for a pull request so you guys can check if it is ok | 19:16 |
blackburn | n4nd0: could you please add this example to applications/edrt? | 19:17 |
blackburn | btw what is the result for isomap? | 19:17 |
n4nd0 | let me see | 19:17 |
n4nd0 | any parameter setting in particular? | 19:17 |
blackburn | yes, k = 5-10 | 19:18 |
-!- genix [~gsomix@188.168.3.118] has quit [Ping timeout: 244 seconds] | 19:18 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 19:22 | |
n4nd0 | same results | 19:24 |
blackburn | and with lle? | 19:24 |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 19:26 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 252 seconds] | 19:27 | |
n4nd0 | before I answered too fast ... | 19:30 |
n4nd0 | http://dl.dropbox.com/u/11020840/shogun/helix_several.png | 19:30 |
n4nd0 | but actually the results of Isomap and LLE doesn't seem to be very related to the input helix | 19:30 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 19:31 | |
blackburn | n4nd0: you get wrong probably | 19:31 |
n4nd0 | blackburn: oh you mean I am doing something bad? | 19:32 |
blackburn | both isomap and lle gets *better* results | 19:32 |
n4nd0 | like wrong I mean | 19:32 |
blackburn | no, everything else is ok :) | 19:32 |
n4nd0 | I lack a bit of theory in this stuff | 19:32 |
blackburn | n4nd0: okay you helix is parametrized rgiht? | 19:33 |
n4nd0 | blackburn: yes | 19:33 |
n4nd0 | blackburn: no noise | 19:33 |
blackburn | so there is probably two actual dimensions | 19:33 |
blackburn | some angle and this parameter t | 19:33 |
-!- genix [~gsomix@85.26.235.110] has joined #shogun | 19:34 | |
blackburn | so isomap is almost ideal for me | 19:34 |
n4nd0 | yes | 19:35 |
n4nd0 | it's fun to see them together :D | 19:36 |
blackburn | and some reversed lle heart | 19:36 |
PhilTillet | blackburn, precision mistake is finally fixed | 19:36 |
blackburn | PhilTillet: what caused it? | 19:36 |
PhilTillet | the last problem came from a missing cast to double in my GPU implementation | 19:36 |
blackburn | ah! | 19:37 |
PhilTillet | double = float - float | 19:37 |
PhilTillet | i guess it gave the right result when the last digit of the float was the same | 19:37 |
PhilTillet | :D | 19:37 |
blackburn | n4nd0: you probably should rather compare to mds | 19:37 |
blackburn | PhilTillet: yes makes sense | 19:37 |
n4nd0 | blackburn: any particular setting? | 19:38 |
blackburn | n4nd0: for mds? no parameters at all | 19:38 |
PhilTillet | or something like that | 19:38 |
PhilTillet | hmm wait | 19:38 |
PhilTillet | maybe i've been too optimistic | 19:38 |
PhilTillet | XD | 19:38 |
n4nd0 | blackburn: ah ok, stupid question ... | 19:38 |
n4nd0 | blackburn: btw, this SPE has two strategies, global and local | 19:38 |
PhilTillet | I think there are a lot of problems who are stacking :D | 19:38 |
n4nd0 | blackburn: local really sucks, even with this helix (that I guess it is kind of easy) | 19:39 |
blackburn | n4nd0: probably I need to refer this SPE paper | 19:39 |
blackburn | n4nd0: no, helix is not easy | 19:39 |
blackburn | n4nd0: can you imagine measures lying on helix? :D | 19:39 |
blackburn | some parameters of system or so | 19:39 |
n4nd0 | blackburn: no, but I meant more like it at least seems easy to find a representation in 2D | 19:40 |
-!- genix [~gsomix@85.26.235.110] has quit [Ping timeout: 246 seconds] | 19:40 | |
blackburn | yes exactly | 19:40 |
blackburn | it is not easy to map to 2d | 19:40 |
blackburn | I think | 19:40 |
n4nd0 | blackburn: ok | 19:40 |
n4nd0 | blackburn: the results for this dataset are the sames (in terms of how the graphics look like) to the ones in the matlab toolbox | 19:41 |
n4nd0 | same* | 19:41 |
blackburn | that's nice | 19:41 |
n4nd0 | blackburn: for global is ok, for local, sucks | 19:41 |
blackburn | I have never checked other impls actually | 19:41 |
blackburn | can you please do that? | 19:41 |
blackburn | hmm however | 19:41 |
blackburn | no, not needed | 19:41 |
n4nd0 | you mean with the other converters as well? | 19:41 |
blackburn | I'm pretty sure | 19:41 |
blackburn | yes :D | 19:42 |
n4nd0 | ok | 19:42 |
blackburn | nevermind | 19:42 |
n4nd0 | I just used it as a sanity check | 19:42 |
blackburn | right | 19:42 |
n4nd0 | to know that the impl is ok | 19:42 |
harshit_ | blackburn: I have send a new pull request and i dont think it will have any conflicts now. | 19:43 |
blackburn | harshit_: yes | 19:43 |
blackburn | harshit_: btw I talked to Soeren, he thinks liblinear will release soon | 19:43 |
blackburn | and it makes sense to update it | 19:43 |
harshit_ | yeah i read that irc log | 19:44 |
blackburn | aha | 19:44 |
blackburn | nice | 19:44 |
harshit_ | So should i remove c5.0 from the list of things in my proposal. | 19:44 |
blackburn | if you don't want to | 19:44 |
harshit_ | how much time do you think, It would take me to integrate new regression feature of liblinear | 19:45 |
harshit_ | just an estimate | 19:45 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 272 seconds] | 19:45 | |
blackburn | I think 2 weeks would be fully enough | 19:45 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 19:50 | |
blackburn | n4nd0: one request about spe | 19:52 |
blackburn | just like mds it would be nice to have embed_distance method | 19:52 |
blackburn | and apply can make use of it | 19:52 |
PhilTillet | blackburn, I have fixed the precision issues, a still error remains though, that is, for 1000 examples of dim 1000, (1000 svs, too), the total error is 10^-14 | 19:53 |
PhilTillet | sounds ok :p | 19:53 |
n4nd0 | blackburn: tell me | 19:54 |
blackburn | n4nd0: already | 19:55 |
blackburn | ;) | 19:55 |
n4nd0 | blackburn: yeah, I tend just to read the red lines :P | 19:55 |
n4nd0 | *higlighted* | 19:55 |
n4nd0 | blackburn: so let me do first a pull request for this and you can check if everything looks ok | 19:56 |
n4nd0 | blackburn: if it's, then I'll check for the other thing ok? | 19:56 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 245 seconds] | 19:58 | |
blackburn | n4nd0: ah one more thing | 20:02 |
blackburn | do you compute full distance matrix? | 20:02 |
n4nd0 | blackburn: yeah, I use the method from CDistance | 20:03 |
n4nd0 | blackburn: get_distance_matrix | 20:03 |
blackburn | n4nd0: can you see disadvantage here? | 20:03 |
n4nd0 | blackburn: I think it is a requirement to have this data | 20:07 |
n4nd0 | blackburn: but maybe there is no need in having the full matrix stored | 20:07 |
blackburn | yes exactly | 20:07 |
n4nd0 | blackburn: but that could turn out in re-calculations of the same distance | 20:07 |
n4nd0 | blackburn: if not stored | 20:08 |
blackburn | yes makes sense to add option | 20:08 |
n4nd0 | so the user can choose whether to store or re-calculate? | 20:09 |
blackburn | yes | 20:10 |
blackburn | n4nd0: this can be done via custom distance | 20:10 |
blackburn | if to store - compute custom distance with distance | 20:11 |
blackburn | if not - just pass this distance | 20:11 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 20:11 | |
blackburn | and use distance(i,j) method | 20:11 |
blackburn | have you seen google maps today, guys? | 20:13 |
-!- harshit_ [~harshit@182.68.67.61] has quit [Ping timeout: 248 seconds] | 20:13 | |
n4nd0 | no | 20:14 |
n4nd0 | oh | 20:14 |
n4nd0 | we're in bits | 20:14 |
n4nd0 | cool | 20:14 |
n4nd0 | fuck | 20:14 |
n4nd0 | there's no name in Spain | 20:15 |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 20:21 | |
-!- vikram360 [~vikram360@117.192.173.130] has quit [Ping timeout: 246 seconds] | 20:21 | |
-!- harshit_ [~harshit@182.68.67.61] has quit [Read error: Connection reset by peer] | 20:23 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 260 seconds] | 21:06 | |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 21:13 | |
-!- vikram360 [~vikram360@117.192.173.130] has joined #shogun | 21:21 | |
n4nd0 | blackburn: oh man, an SG_UNREF(features) in SPE and valgrind log had no end! | 21:44 |
n4nd0 | just that was missing | 21:44 |
blackburn | n4nd0: so you forgot to unref features? :) | 21:44 |
n4nd0 | blackburn: yeah | 21:46 |
n4nd0 | I have not really understood why is it needed though | 21:47 |
n4nd0 | wait | 21:47 |
n4nd0 | let me see | 21:47 |
n4nd0 | there must be sth doing SG_REF | 21:47 |
blackburn | distance probably | 21:47 |
blackburn | or so | 21:47 |
n4nd0 | it was me in the same method | 21:48 |
n4nd0 | LOL | 21:48 |
blackburn | hahah | 21:48 |
n4nd0 | I am pretty sad sometimes | 21:48 |
blackburn | keep up | 21:49 |
-!- harshit_ [~harshit@182.68.67.61] has joined #shogun | 21:50 | |
n4nd0 | blackburn: do you have a good reference for SPE? | 21:52 |
n4nd0 | to include in the doc | 21:53 |
blackburn | n4nd0: didn't laurens mention something? | 21:53 |
n4nd0 | blackburn: let me check | 21:54 |
blackburn | Agrafiotis, D. K. (2003). Stochastic proximity embedding. Journal of Computational Chemistry, 24(10), 1215-1221. Retrieved from http://www.ncbi.nlm.nih.gov/pubmed/12820129 | 21:56 |
n4nd0 | ??????? :) | 21:58 |
blackburn | hah | 21:59 |
blackburn | de nada? | 21:59 |
n4nd0 | great | 22:00 |
n4nd0 | literally it is like | 22:00 |
n4nd0 | of nothing | 22:00 |
n4nd0 | haha | 22:00 |
blackburn | n4nd0: what is like of nothing? | 22:01 |
n4nd0 | I like to do some literal translations Spanish - English, gets fun | 22:01 |
n4nd0 | de nada = of nothing | 22:01 |
blackburn | hah | 22:02 |
blackburn | mas que nada | 22:02 |
blackburn | song | 22:02 |
blackburn | multitran.ru told me it is 'you are welcome' | 22:03 |
n4nd0 | oh yeah | 22:03 |
n4nd0 | yeah yeah, it is right | 22:03 |
blackburn | n4nd0: how to translate mas que nada? | 22:04 |
n4nd0 | blackburn: more than anything | 22:04 |
blackburn | sounds senseless | 22:05 |
blackburn | :D | 22:05 |
blackburn | what is this song about | 22:05 |
n4nd0 | blackburn: well ... it's in Portuguesse :P | 22:05 |
blackburn | you told me you are able to understand it a little :D | 22:05 |
n4nd0 | at least the one I know | 22:05 |
n4nd0 | let me check the lyrics | 22:06 |
blackburn | yeah one by tom jobim or even black eyed peas hah | 22:06 |
n4nd0 | ah guy that wants to dance | 22:07 |
n4nd0 | he is feeling like party :) | 22:07 |
@sonney2k | blackburn, I have a question wrt https://github.com/shogun-toolbox/shogun/compare/a1f473c...defbb68 | 22:07 |
@sonney2k | I think the patch is wrong | 22:07 |
blackburn | sonney2k: do you think so? | 22:08 |
@sonney2k | yes | 22:08 |
blackburn | why? | 22:08 |
blackburn | what is source and dest? | 22:08 |
@sonney2k | because lab is the argument we want to set | 22:08 |
blackburn | ?!! | 22:08 |
n4nd0 | lol | 22:08 |
blackburn | oh shit | 22:08 |
blackburn | :D | 22:08 |
blackburn | sorry | 22:08 |
@sonney2k | please check too | 22:09 |
blackburn | this method makes no sense AT ALL | 22:09 |
@sonney2k | but I feel rather certain | 22:09 |
blackburn | wait | 22:09 |
blackburn | :D | 22:09 |
n4nd0 | I must admit I read it and thought the correction was ok | 22:09 |
PhilTillet | hi sonney2k :) | 22:09 |
blackburn | sonney2k: how can it set *lab*?? | 22:09 |
blackburn | I thought it sets labels with lab | 22:10 |
@sonney2k | blackburn, labels is the member variable that is inited with lab.vlen | 22:10 |
@sonney2k | and then it calls the function set_int_label() | 22:10 |
@sonney2k | which sets each individual label | 22:10 |
blackburn | yes | 22:10 |
blackburn | soo? | 22:10 |
@sonney2k | PhilTillet, hi - btw I also have concerns with https://github.com/shogun-toolbox/shogun/compare/defbb68...ed87836 | 22:10 |
blackburn | again, what is source? | 22:11 |
@sonney2k | blackburn, soo patch is wrong | 22:11 |
blackburn | sonney2k: is 'lab' a source for labels and 'labels' a destination? | 22:11 |
PhilTillet | well, with dsdot instead of ddot | 22:11 |
@sonney2k | PhilTillet, you use cblas_ddot for single precision floats in your patch | 22:11 |
PhilTillet | :p | 22:11 |
blackburn | sonney2k: it is fixed already | 22:11 |
@sonney2k | PhilTillet, ahh | 22:11 |
PhilTillet | there were other precision mistakes on my GPU Code but they are fixed too | 22:12 |
PhilTillet | now the precision is satisfactory | 22:12 |
@sonney2k | PhilTillet, but why use a double internally? I mean it was OK before | 22:12 |
@sonney2k | blackburn, yes | 22:12 |
PhilTillet | sonney2k, well, no, the dot product is computed in single precision | 22:13 |
PhilTillet | to be stored in a SGMatrix<float64_t> | 22:13 |
PhilTillet | which is the kernel matrix | 22:13 |
blackburn | sonney2k: dot is double internally and it is rather ok to use dsdot there | 22:13 |
blackburn | (I think) | 22:13 |
@sonney2k | PhilTillet, I think the best fix would be to use float32_t r=0; internally | 22:14 |
PhilTillet | Hmmmm | 22:14 |
PhilTillet | why losing precision on the dot product? | 22:14 |
PhilTillet | I mean, I understand the need to store features in float32_t | 22:15 |
PhilTillet | to save memory | 22:15 |
@sonney2k | features are float32 anyways so it doesn't really matter much | 22:15 |
PhilTillet | but scalars should be computed in double precision in my opinion | 22:15 |
PhilTillet | hmmm | 22:15 |
PhilTillet | the big error came from here | 22:15 |
@sonney2k | PhilTillet, it is also much faster of course to add things to float32_ts from float32_ts ... | 22:15 |
@sonney2k | PhilTillet, I don't understand how that could be? I mean you could use double features and so the error should be gone or? | 22:16 |
n4nd0 | sonney2k: just to give my opinion, I think that the patch of the labels was OK, the change was right | 22:16 |
blackburn | I second this :D | 22:16 |
PhilTillet | sonney2k, yes, I could use double features and the error was gone | 22:16 |
PhilTillet | but it means double memory | 22:17 |
PhilTillet | :p | 22:17 |
blackburn | sonney2k: do you think is it so much slower to accumulate in double? | 22:17 |
@sonney2k | blackburn, so what about the label patch? do you agree that the patch is wrong? | 22:17 |
blackburn | sonney2k: no, it looks right for me | 22:17 |
@sonney2k | blackburn, then lets go over it again | 22:18 |
blackburn | lets | 22:18 |
@sonney2k | lab is the input | 22:18 |
blackburn | yes | 22:18 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has quit [Read error: Connection reset by peer] | 22:18 | |
@sonney2k | then the member variable labels is created uninitialized with len lab.vlen | 22:18 |
@sonney2k | blackburn, OK? | 22:18 |
-!- n4nd0 [~nando@s83-179-44-135.cust.tele2.se] has joined #shogun | 22:18 | |
blackburn | right | 22:18 |
n4nd0 | sorry lost internet | 22:18 |
n4nd0 | I missed the stuff after my message (if sth happened) | 22:19 |
@sonney2k | so then what we want to do is tranfer the content of lab to labels right? | 22:19 |
n4nd0 | sonney2k: yes | 22:19 |
PhilTillet | sonney2k, I'll benchmark the use of float vs the use of double | 22:19 |
blackburn | sonney2k: exactly | 22:19 |
@sonney2k | so we need to call set_int_label(i, lab.vector[i]); | 22:19 |
@sonney2k | not set_int_label(i, labels.vector[i]); | 22:19 |
blackburn | yes exactly | 22:19 |
n4nd0 | sonney2k: yes | 22:19 |
@sonney2k | because labels is uninitialized | 22:19 |
blackburn | that patch is was about that actually | 22:19 |
n4nd0 | sonney2k: exactly | 22:19 |
blackburn | it changed labels to lab | 22:19 |
@sonney2k | ahh | 22:20 |
blackburn | in set | 22:20 |
blackburn | :D | 22:20 |
@sonney2k | OK then :) | 22:20 |
@sonney2k | my bad :D | 22:20 |
@sonney2k | so back to the dot thing | 22:20 |
blackburn | sonney2k: moving back to dot thing I would suggest to measure | 22:20 |
@sonney2k | I am pretty sure that sse will parallelize the operation if one uses float32's | 22:21 |
blackburn | PhilTillet is already planning to :D | 22:21 |
@sonney2k | but it cannot with double | 22:21 |
@sonney2k | s/parallelize/use the sse instruction to do 4 such multiplications at once/ | 22:21 |
blackburn | you point is reasonable but lets check | 22:22 |
@sonney2k | PhilTillet, benchmarking is a good idea - nevertheless when you use double everything should look fine right? | 22:22 |
@sonney2k | I mean very little error (1e-14 ...) | 22:22 |
blackburn | sonney2k: do we need another linux buildbot? | 22:23 |
blackburn | sonney2k: ah yes I'll get opencl compatible card soon so will be able to test things too | 22:24 |
@sonney2k | blackburn, we can build with opencl support even on machines that don't have a GPU | 22:25 |
@sonney2k | it will just be much slower when the opencl stuff is done by the CPU | 22:26 |
blackburn | I see but I meant to test performance as well as you | 22:27 |
@sonney2k | blackburn, btw I liked your git summary mail - maybe you should put it as README.git into the repository | 22:27 |
blackburn | ok, makes sense | 22:27 |
blackburn | but a little later | 22:27 |
blackburn | would need to elaborate it probably | 22:27 |
@sonney2k | and btw it makes a lot of sense to get us to use git commit --amend | 22:27 |
@sonney2k | blackburn, no - please put it there | 22:27 |
blackburn | sonney2k: I'd rather avoid amends | 22:28 |
@sonney2k | then we can iterate | 22:28 |
@sonney2k | currently most commits have a broken commit followed by a hot fix | 22:28 |
@sonney2k | so buildbot fails every second time | 22:28 |
@sonney2k | exactly what amend will fix | 22:28 |
blackburn | sonney2k: amend makes sense *only* before pushign | 22:28 |
@sonney2k | of course | 22:29 |
blackburn | so it would rather cause problems | 22:29 |
@sonney2k | why? | 22:29 |
@sonney2k | if you notice that you forgot to add a file or broke the test suite | 22:29 |
blackburn | yes that's ok | 22:29 |
@sonney2k | you should rather commit your next commit with --amend to fix it | 22:29 |
blackburn | but if you amend by mistake.. | 22:29 |
blackburn | and pushed it before | 22:30 |
blackburn | oh that's pain | 22:30 |
@sonney2k | then you git reset hard and done | 22:30 |
blackburn | my point is to ask devs to consider bigger commits | 22:30 |
n4nd0 | I have changed to large commits, let's see if the new stuff doesn't break this time | 22:30 |
@sonney2k | no | 22:30 |
blackburn | that do not bring shogun uncompileable | 22:30 |
@sonney2k | I like small commits | 22:31 |
blackburn | and use amend in case of mistakes | 22:31 |
n4nd0 | mmmm | 22:31 |
@sonney2k | but every single commit should compile and pass test suite | 22:31 |
blackburn | yes exactly | 22:31 |
@sonney2k | and that is what we don't have currenlty | 22:31 |
@sonney2k | we have often huge pull requests with 10 commits which are in fact one and 5 of the 10 don't build | 22:31 |
blackburn | it is my practice actually | 22:31 |
blackburn | not broken commits :D | 22:32 |
@sonney2k | so merging these together before issuing a pull request is a good idea | 22:32 |
blackburn | sonney2k: can you remember by heart the date of slots being announced? | 22:32 |
@sonney2k | no | 22:33 |
blackburn | but after deadline right? | 22:33 |
@sonney2k | after we ranked students IIRC | 22:33 |
@sonney2k | so somewhen mid april I think | 22:33 |
blackburn | aha | 22:33 |
n4nd0 | sonney2k: what expectations do you have about slots? | 22:34 |
blackburn | I pray for 8 | 22:34 |
@sonney2k | 15 proposals by now | 22:34 |
n4nd0 | blackburn: would be really nice | 22:34 |
blackburn | (whie being an atheist) hah | 22:34 |
blackburn | sonney2k: much lesser than year before, right? | 22:34 |
@sonney2k | yes a lot less | 22:35 |
blackburn | last year it was 60 | 22:35 |
blackburn | or so | 22:35 |
@sonney2k | it paid of to require patches | 22:35 |
@sonney2k | >70 even | 22:35 |
-!- gsomix [~gsomix@188.168.14.10] has joined #shogun | 22:35 | |
n4nd0 | anyway, there are still five days left | 22:35 |
blackburn | that's probably bad we have a lot less proposals | 22:35 |
n4nd0 | and I guess this is a bit like homework, waiting to the last moment! haha | 22:36 |
@sonney2k | could mean fewer slots - no idea. proposals have much higher quality though | 22:36 |
gsomix | sonney2k, moin. | 22:36 |
blackburn | yes but do they ask about quality? | 22:36 |
n4nd0 | blackburn: if the number is a problem we can each send 20 proposals for shogun :P | 22:37 |
blackburn | hahahah | 22:37 |
blackburn | great idea lol | 22:37 |
blackburn | funny if it *really* makes sense hahah | 22:38 |
n4nd0 | idk | 22:38 |
n4nd0 | would be kind of sad if it makes I'd say | 22:39 |
blackburn | sonney2k: do you mind contact carol about that? | 22:39 |
blackburn | :D | 22:40 |
blackburn | <=5 would be catastrophic | 22:41 |
n4nd0 | blackburn: I thought of it today, it would be really so | 22:41 |
n4nd0 | let's see if we can do sth to improve the number of slots | 22:42 |
n4nd0 | but no idea what do they base it on | 22:42 |
n4nd0 | but how does this stuff work actually | 22:43 |
blackburn | no chance we will get all 9 | 22:43 |
n4nd0 | google says to each organization | 22:43 |
n4nd0 | of you got 5, and you 3 and you ... | 22:43 |
blackburn | yes | 22:43 |
n4nd0 | and the org. chooses which students do the project | 22:43 |
blackburn | yes | 22:44 |
n4nd0 | or google says this three students do it | 22:44 |
blackburn | no | 22:44 |
blackburn | only slots | 22:44 |
n4nd0 | got it | 22:44 |
blackburn | org does all the ranking | 22:44 |
harshit_ | sonney2k: are you around ? | 22:44 |
n4nd0 | blackburn: they are talking in #gsoc about it if you want to check | 22:45 |
@sonney2k | n4nd0, yeah I asked there... | 22:45 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Remote host closed the connection] | 22:46 | |
n4nd0 | sonney2k: :) | 22:46 |
harshit_ | sonney2k: what all dot features can I include as part of my proposal, apart from local binary pattern features | 22:47 |
harshit_ | and lbp which implementation do you think would be best to port , i think opencv has got a nice one which we can use | 22:48 |
blackburn | ah no logs there | 22:49 |
gsomix | sonney2k, it seems I solved the problem with modelselections tests and python3. | 22:49 |
blackburn | n4nd0: could you paste to it to directly me? ;) | 22:49 |
n4nd0 | blackburn: sure | 22:50 |
@sonney2k | harshit_, blackburn how about wikings new preprocessor as dorfeatures? | 22:50 |
blackburn | makes sence | 22:50 |
@sonney2k | gsomix, nice - so what is missing now? conversion of examples with 2to3? | 22:51 |
harshit_ | whats wiking preprocessor ? is there any reference for that ? | 22:51 |
blackburn | yes, check the doc | 22:52 |
@sonney2k | blackburn, n4nd0 - that's the essence https://code.google.com/p/google-summer-of-code/wiki/NotesonStudentAllocations | 22:52 |
blackburn | yes checking | 22:52 |
n4nd0 | let's see | 22:53 |
blackburn | sonney2k: 1) 2) fits pretty well | 22:53 |
gsomix | sonney2k, hmm. I'm working on the problem with the types and typecodes now. | 22:55 |
n4nd0 | blackburn: I mean if they really take into account students that stay in the project | 22:55 |
n4nd0 | blackburn: we ge 20 at least with your work ;) | 22:55 |
blackburn | n4nd0: yes no idea how they track that | 22:55 |
nickon | I guess you have 16 proposals by now :) I just submitted my application, just to let you guys know | 22:56 |
n4nd0 | blackburn: 4 is nice for us too | 22:56 |
@sonney2k | unfortunately I totally forgot when we got student applications last year | 22:56 |
blackburn | sonney2k: what do you mean 'when we got'? | 22:57 |
@sonney2k | I recall there were very few in the beginning but then some explosion in #applications towards the deadlines | 22:57 |
@sonney2k | so many that it became a huge problem to even read them all... | 22:57 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has joined #shogun | 22:58 | |
gsomix | sonney2k, typecode of NPY_INT32 is not equal to typecode of NPY_INT. I want to completely verify types and typecodes. | 22:58 |
@sonney2k | so I hope we will have around *manageable* 30 | 22:58 |
n4nd0 | I think much more will come in the last days | 22:58 |
PhilTillet | sonney2k, you were super right | 22:58 |
PhilTillet | :p | 22:58 |
n4nd0 | but anyway, reading this | 22:58 |
@sonney2k | at least once... :D | 22:58 |
n4nd0 | E.g., if an organization receives 20% of the total applications for the program, then they'll receive ~20% of the student slots for the program | 22:58 |
PhilTillet | dsdot was 2 times slower than sdot | 22:58 |
blackburn | 2 times?! | 22:58 |
blackburn | whoaa | 22:58 |
PhilTillet | on my mobile CPU yes | 22:58 |
n4nd0 | I said it before half joking but ... may it help if we send more applications for fun? | 22:59 |
@sonney2k | PhilTillet, makes sense - sse can do 4 ops instead of 2 in one go | 22:59 |
PhilTillet | true | 22:59 |
PhilTillet | :p | 22:59 |
blackburn | sonney2k: PhilTillet: so shall I restore it to sdot? | 22:59 |
@sonney2k | n4nd0, no | 22:59 |
PhilTillet | blackburn, yes :D | 22:59 |
n4nd0 | sonney2k: idea disregarded then | 22:59 |
blackburn | here you go | 23:00 |
CIA-64 | shogun: Sergey Lisitsyn master * r3518f6d / src/shogun/mathematics/Math.cpp : Restored sdot at float32_t dot - http://git.io/O_nicA | 23:00 |
harshit_ | blackburn : whats wiking's preprocessor ? | 23:00 |
blackburn | harshit_: HomogeneousKernelMap | 23:00 |
@sonney2k | PhilTillet, but still if you run everything in double you should get high precision | 23:00 |
PhilTillet | yes, I did | 23:00 |
@sonney2k | harshit_, btw did you test your new newtonsvm code? does it still produce the same result like the matlab one? | 23:01 |
@sonney2k | PhilTillet, and? | 23:01 |
PhilTillet | well I did it long ago, and made some fixes since them on precision, I just remember it was much slower :p | 23:01 |
PhilTillet | i'll retry it now that I have done some fixes | 23:01 |
harshit_ | sonney2k:yes, it is producing same result for the final weight vector | 23:01 |
harshit_ | sonney2k : but there is one concern that i mentioned earlier | 23:02 |
harshit_ | the problem with float64_t precision | 23:02 |
harshit_ | need some way to use floatmax_t in matrix multiplication | 23:03 |
blackburn | whoa I can't believe it operates on such small precision | 23:05 |
harshit_ | Actually it doesn't change the final weight vector or bias, but restricts the no. of iterations | 23:05 |
@sonney2k | harshit_, what do you need floatmax for? | 23:07 |
harshit_ | for calculating 2 values , and then taking ratio of those 2 values | 23:08 |
harshit_ | in float64_t 2 values become almost zero, so there ratio turns out to be undefined | 23:09 |
harshit_ | have a look : http://snipt.org/ugihg2 | 23:11 |
blackburn | g/h? | 23:11 |
harshit_ | in line no 14 and 13, two variables namely g and h are being computed | 23:11 |
harshit_ | yeah | 23:11 |
harshit_ | that turns out to be about 2 in last iteration in matlab | 23:12 |
harshit_ | but in C++ it is 0 | 23:12 |
blackburn | there should be a way to avoid underflow.. | 23:12 |
blackburn | harshit_: what are values you divide there? | 23:15 |
@sonney2k | harshit_, wait if you print out g and h in matlab and in C++ over the course of optimizations - what is going on? | 23:15 |
@sonney2k | you should see when/how these numbers deviate ... | 23:15 |
n4nd0 | blackburn: once I used some scaling method for HMMs, it might work here to avoid underflow | 23:16 |
harshit_ | the deviation is only in the last iteration | 23:16 |
harshit_ | when h and g becomes very small | 23:16 |
harshit_ | in MATLAB they are of order 1e-31 | 23:16 |
@sonney2k | harshit_, is the deviation in h and g visible? | 23:16 |
harshit_ | yes, but only in last iteration | 23:17 |
blackburn | yay! | 23:17 |
blackburn | 1e-31 | 23:17 |
blackburn | shouldn't it stop on this g(radient?) | 23:17 |
harshit_ | actually the last iteration i am talking about is the loop which is calling line_search_linear | 23:17 |
harshit_ | blackburn : yeah it stops | 23:18 |
harshit_ | but the value of t is what troubles me | 23:18 |
harshit_ | ohhh wait.. they are vector multiplications not matrix | 23:19 |
harshit_ | sorry | 23:19 |
harshit_ | So i can make use of dense_dot here | 23:20 |
harshit_ | right ? | 23:20 |
blackburn | yes if this vector is in train set | 23:20 |
harshit_ | sorry CMath::dot | 23:20 |
blackburn | (this you want to dot with) | 23:20 |
@sonney2k | harshit_, which exact formula are you talking about? | 23:24 |
harshit_ | which formula are you asking for, in matlab code or my C++ code ? | 23:26 |
harshit_ | in matlab it is in line 13 and 14 | 23:27 |
harshit_ | i want to make use of floatmax_t as datatype for g and h | 23:27 |
harshit_ | and also for the variables it is dependent upon | 23:28 |
blackburn | oh how I love this meanless names in matlab code | 23:28 |
blackburn | :D | 23:28 |
harshit_ | :) | 23:29 |
blackburn | ddWQRet | 23:29 |
blackburn | ASDASD[asdsadas] = adasdrewrq/;sad | 23:29 |
harshit_ | so wikings paper is the one which is going to be published in ieee pami | 23:31 |
harshit_ | sorry ieee cvpr | 23:31 |
harshit_ | sorry once again : is published * | 23:32 |
blackburn | yes, it was published there | 23:32 |
harshit_ | btw, who is wiking | 23:32 |
harshit_ | andrea or andrew | 23:33 |
@sonney2k | harshit_, so how much are g and h deviating C++ vs matlab I mean? | 23:33 |
blackburn | harshit_: no he is not the author | 23:35 |
blackburn | he just implemented it | 23:35 |
harshit_ | wait i'll give you a complete picture of what is going on | 23:35 |
harshit_ | Recompiling shogun,taking time :( | 23:40 |
@sonney2k | harshit_, install ccache! | 23:41 |
@sonney2k | that really speeds up things - and compile with --disable-optimizations | 23:41 |
n4nd0 | oh! didn't know about ccache | 23:42 |
n4nd0 | the description looks promising | 23:42 |
n4nd0 | sonney2k: thank you very much :) | 23:42 |
harshit_ | didnt knw abt that | 23:42 |
-!- gsomix [~gsomix@188.168.14.10] has quit [Read error: Operation timed out] | 23:42 | |
CIA-64 | shogun: Soeren Sonnenburg master * r72e11b3 / (66 files in 5 dirs): | 23:44 |
CIA-64 | shogun: Merge pull request #402 from shelhamer/add-param-macro | 23:44 |
CIA-64 | shogun: Convert parameter assignments to SG_ADD macro - http://git.io/zEHleA | 23:44 |
-!- nickon [~noneedtok@dD5774105.access.telenet.be] has quit [Quit: ( www.nnscript.com :: NoNameScript 4.22 :: www.esnation.com )] | 23:47 | |
-!- gsomix [~gsomix@188.168.4.80] has joined #shogun | 23:47 | |
blackburn | sonney2k: it looks like liblinear did not release yesterday | 23:54 |
blackburn | uh that was a nice tradition | 23:55 |
-!- PhilTillet [~Philippe@npasserelle10.minet.net] has quit [Ping timeout: 244 seconds] | 23:55 | |
harshit_ | sorry for such a long delay | 23:56 |
harshit_ | here is output comparison for toy dataset | 23:56 |
harshit_ | http://snipt.org/ugihi4/PHP%20Default | 23:56 |
@sonney2k | harshit_, could you please print using %.16g ? | 23:58 |
@sonney2k | otherwise we don't know the exact numbers | 23:58 |
@sonney2k | harshit_, and from matlab use format long G | 23:59 |
@sonney2k | to get the high resolution values? | 23:59 |
--- Log closed Mon Apr 02 00:00:13 2012 |
Generated by irclog2html.py 2.10.0 by Marius Gedminas - find it at mg.pov.lt!