01:31
<
RishabhGarg108Ri >
@ryan:ratml.org The past few months we have done a lot of refactoring! :)
01:31
<
RishabhGarg108Ri >
Have we also updated the bindings tutorial on the website? I think most of the newcomers follow that to learn to write bindings.
01:34
<
rcurtin[m] >
RishabhGarg108 (RishabhGarg108): you're right! let me open an issue for that, and maybe I can handle it tomorrow
01:35
<
RishabhGarg108Ri >
:+1:
02:07
<
RishabhGarg108Ri >
@ryan:ratml.org How should I change `REQUIRE_THROWS(mlpackMain());` in `main_tests` ?
04:34
<
jonpsy[m] >
<rcurtin[m]> "for lab.mlpack.org, right?" <- Thanks for the intiative, Ryan. The site responds now, however it shows "potential security threat" in firefox, and when I ignore and continue it shows "Gitlab is taking too long to respond".
07:04
aakashi2001 has joined #mlpack
07:11
aakashi2001 has quit [Ping timeout: 252 seconds]
11:06
aakashi2001 has joined #mlpack
11:06
aakashi2001 has joined #mlpack
11:06
aakashi2001 has quit [Changing host]
11:27
aakashi2001 has quit [Remote host closed the connection]
12:14
<
zoq[m]1 >
<jonpsy[m]> "Thanks for the intiative, Ryan...." <- I still have to redirect the binderhub.
14:29
<
jonpsy[m] >
* i see.
15:04
<
heisenbuugGopiMT >
git issues.
15:04
<
heisenbuugGopiMT >
What should be my upstream?
15:05
<
heisenbuugGopiMT >
Now the issue is when I go to mlpack repo on my github account, it says
15:05
<
heisenbuugGopiMT >
`This branch is 48 commits ahead of mlpack:master.`
15:05
<
heisenbuugGopiMT >
And I am on master branch.
15:05
<
heisenbuugGopiMT >
How can I sync this with original mlpack repo?
15:06
<
jonpsy[m] >
wait, did you push changes on your master fork?
15:06
<
heisenbuugGopiMT >
Yea, I think I did that by mistake last time...
15:07
<
jonpsy[m] >
okay you can do ``git reset --hard``` to upstream/master
15:07
<
heisenbuugGopiMT >
I though I solved it but I was wrong.
15:07
<
jonpsy[m] >
s/``/```/
15:07
<
PranshuSrivastav >
I think you need to use git reset --hard HEAD~n
15:07
<
shrit[m] >
I would recommend that you delete your origin and upstream
15:07
<
shrit[m] >
git remote remove origin
15:07
<
PranshuSrivastav >
where n is the number of commits u want to go back and then push the changes
15:07
<
shrit[m] >
git remote remove upstream
15:08
<
shrit[m] >
each time you push you use `git push link branch name`
15:08
<
heisenbuugGopiMT >
I tried that reset command, although it shows branch upto date in terminal, but on my github page it still shows same message.
15:08
<
shrit[m] >
this way you will never ever do an error
15:08
<
heisenbuugGopiMT >
okay, I will delete them.
15:08
<
shrit[m] >
Of course because you need to reset the origin
15:09
<
jonpsy[m] >
i've faced such errors before, let me tell you the most easiest way
15:09
<
jonpsy[m] >
not "error" per e
15:09
<
jonpsy[m] >
* not "error" per se
15:09
<
jonpsy[m] >
fetch `origin/master`, then `git reset --hard upstream/master` and then force push to `origin/master`
15:11
<
heisenbuugGopiMT >
@shrit:matrix.org But how to sync my fork and original?
15:11
<
heisenbuugGopiMT >
I deleted origin and upstream
15:12
<
shrit[m] >
you need to fetch from the original by using the link
15:12
<
heisenbuugGopiMT >
`git fetch git@github.com:mlpack/mlpack.git master`
15:12
<
heisenbuugGopiMT >
And then git merge to my fork?
15:13
<
shrit[m] >
git pull git@github.com:mlpack/mlpack.git master
15:13
<
shrit[m] >
Try both
15:14
<
shrit[m] >
I am not sure you can fetch with link directly, but you can definitely do this with `git pull`
15:14
<
heisenbuugGopiMT >
From github.com:mlpack/mlpack
15:14
<
heisenbuugGopiMT >
(base) [heisenbug@fedora build]$ git pull git@github.com:mlpack/mlpack.git master
15:14
<
heisenbuugGopiMT >
Already up to date.
15:14
<
heisenbuugGopiMT >
* branch master -> FETCH_HEAD
15:15
<
shrit[m] >
then git push to your link master
15:15
<
shrit[m] >
but you need to reset before.
15:15
<
shrit[m] >
try to push to your github and we will see what will happen later
15:32
<
shrit[m] >
hmm, let us try to use `git reset --hard git@github.com:heisenbuug/mlpack.git master`
15:32
<
heisenbuugGopiMT >
`fatal: invalid object name 'git@github.com'.`
15:34
<
shrit[m] >
Why you are trying to pull from the master?
15:35
<
heisenbuugGopiMT >
To get the main mlpack code?
15:35
<
heisenbuugGopiMT >
if I do git status, it says nothing to commit, working tree is clean
15:35
<
heisenbuugGopiMT >
But the only issue is when I go to my repo on github.com
15:36
<
heisenbuugGopiMT >
It says I am ahead by 48 commits.
15:36
<
heisenbuugGopiMT >
So I thought I would pull the mlpack mater and merge it with my fork master
15:37
<
heisenbuugGopiMT >
s/mater/master/
15:37
<
shrit[m] >
This is not how git works
15:37
<
shrit[m] >
You only need to reset your master that is on github
15:37
<
heisenbuugGopiMT >
Yup I got that now, and I think I made some mistake in that only.
15:38
<
shrit[m] >
You have two master, one locally (on your machine) and one remote (one github)
15:38
<
shrit[m] >
The one locally is fine I think, did you push to it recently?
15:39
<
heisenbuugGopiMT >
No, actually if you remember during the last video meetup we were trying to solve the same issue...
15:39
<
shrit[m] >
I remember it was solved locally for you
15:40
<
heisenbuugGopiMT >
Yea, I thought so, but then why does it shows that message on my github page.
15:40
<
heisenbuugGopiMT >
*?
15:41
<
shrit[m] >
because you did reset that locally but not on github
15:41
<
shrit[m] >
and you have probably pushed the modification to github before we have fixed it during the meeting
15:42
<
heisenbuugGopiMT >
ohhh...
15:42
<
heisenbuugGopiMT >
So how can I solve this now?
15:43
<
shrit[m] >
You only need to reset your master that is on github
15:43
<
shrit[m] >
Look at my last command
15:44
<
shrit[m] >
If it does not work try to dig more online, I think you understand what is happening now
15:44
<
heisenbuugGopiMT >
Hmm, okay...
15:44
<
heisenbuugGopiMT >
I think I got an idea...
15:44
<
heisenbuugGopiMT >
I will try and update...
16:05
<
heisenbuugGopiMT >
Okay, it's done.
16:06
<
heisenbuugGopiMT >
Now my github shows `This branch is even with mlpack:master`
18:13
<
heisenbuugGopiMT >
Hello
18:13
<
heisenbuugGopiMT >
@shrit:matrix.org I started working on digamma
18:14
<
heisenbuugGopiMT >
You can see that `digamma(x)` is `ln(x) - 1/2*x`
18:15
<
heisenbuugGopiMT >
s/2*x/2x/
18:15
<
heisenbuugGopiMT >
approximately
18:21
<
heisenbuugGopiMT >
When I compared this expression with boost's implementation there is a small difference in both.
18:23
<
heisenbuugGopiMT >
And as the value of x increases this difference decreases...
18:24
<
heisenbuugGopiMT >
Boost has a bit different implementation, I think they used the expansion to reduce this error in direct formula.
18:27
<
shrit[m] >
I see what your mean,
18:27
<
shrit[m] >
I am not sure how much precision we need in mlpack,
18:28
<
shrit[m] >
maybe rcurtin has a thought about it? for me I think it is fine
18:28
<
shrit[m] >
for what I can see is that the direct formula is a little bit higher values than Boost
18:29
<
heisenbuugGopiMT >
And tried to build it, somehow my terminal keeps crashing.
18:29
<
shrit[m] >
Did you implement Digamma?
18:30
<
shrit[m] >
is the Direct formula is your implementations value?
18:30
<
shrit[m] >
do they present the formula you have wrote above?
18:30
<
heisenbuugGopiMT >
`std::log(i) - (1 / (2 * i))`
18:30
<
heisenbuugGopiMT >
Yup, this
18:31
<
shrit[m] >
Okay, why your terminal is crashing?
18:33
<
heisenbuugGopiMT >
No idea, maybe due to this change process in getting stuck in some loop?
18:33
<
heisenbuugGopiMT >
Should I push the code and see what's happening on CI?
18:35
<
heisenbuugGopiMT >
Oh, maybe negative numbers?
18:36
<
heisenbuugGopiMT >
Yea, if we will have x as a negative number then this will fail.
18:36
<
heisenbuugGopiMT >
But I don't think it should crash the terminal...
18:36
<
shrit[m] >
what are the equivilant boost values?
18:36
<
heisenbuugGopiMT >
For negative values?
18:37
<
shrit[m] >
Would you add the same one as the above comparison but for negative values
18:38
<
shrit[m] >
There is an issue with your implementation, or we do not know what boost guy's implemented
18:38
<
heisenbuugGopiMT >
Also `x > -1`
18:39
<
heisenbuugGopiMT >
if i use `x <= -1` then even boost is giving an error.
18:39
<
shrit[m] >
This is normal
18:39
<
heisenbuugGopiMT >
And it makes sence, gamma is (n-1)!
18:40
<
shrit[m] >
No values for x < -1
18:40
<
heisenbuugGopiMT >
Yea, I spent the whole day figuring out gamma, it was fun but took some time.
18:41
<
heisenbuugGopiMT >
I also understood what boost did, but I am not very sure and it's difficult to write out all notations here...
18:41
<
heisenbuugGopiMT >
Maybe I can make two cases?
18:41
<
heisenbuugGopiMT >
`x > 0` and `x < 0`
18:41
<
shrit[m] >
Give it a try
18:42
<
heisenbuugGopiMT >
But even for that first, we need to verify that the above is at least working for positive integers.
18:42
<
shrit[m] >
You can an integration test 👍️
18:42
<
shrit[m] >
* You can add an integration
18:42
<
heisenbuugGopiMT >
`double nominator = meanLogx - logMeanx + log(aEst) - (std::log(aEst) - 1 / (2 * aEst));`
18:42
<
heisenbuugGopiMT >
This is the line I changed.
18:43
<
heisenbuugGopiMT >
Do you see any obvious errors which I am missing.
18:43
<
heisenbuugGopiMT >
Before
18:43
<
heisenbuugGopiMT >
`double nominator = meanLogx - logMeanx + log(aEst) - digamma(aEst);`
18:44
<
shrit[m] >
I think the best way to have a header file for the digamma function, and a unit testing, this will allow to compare with boost and verify if the results are true
18:45
<
heisenbuugGopiMT >
Yup, but if boost is doing soo much just to get that precision will we be losing something if we use direct formula.
18:47
<
heisenbuugGopiMT >
But how will we know the correct answer? Are we considering boost's implementation as a target?
18:47
<
shrit[m] >
I have no idea,
18:48
<
shrit[m] >
We can wait on rcurtin asnwer on this
18:48
<
shrit[m] >
s/asnwer/answer/
18:49
<
heisenbuugGopiMT >
Okay, I will try to figure out the same for negative numbers. I will make a separate header file in `mlpack/core/math/` and push the code to see the error properly on CI
18:51
<
heisenbuugGopiMT >
I will tag you and ryan in the PR.