ChanServ changed the topic of #mlpack to: "mlpack: a fast, flexible machine learning library :: We don't always respond instantly, but we will respond; please be patient :: Logs at http://www.mlpack.org/irc/
togo_ has joined #mlpack
togo_ has quit [Remote host closed the connection]
togo has joined #mlpack
ImQ009 has joined #mlpack
jonpsy[m] has joined #mlpack
sreenik[m] has joined #mlpack
ArunavShandeelya has joined #mlpack
DivyanshKumar[m] has joined #mlpack
khimrajGitter[m] has joined #mlpack
jjb[m] has joined #mlpack
eddelbuettel[m] has joined #mlpack
anjishnu[m] has joined #mlpack
geek-2002Gitter[ has joined #mlpack
zoq[m] has joined #mlpack
TrinhNgo[m] has joined #mlpack
SaraanshTandonGi has joined #mlpack
jacob-earleGitte has joined #mlpack
SakshamRastogiGi has joined #mlpack
EL-SHREIFGitter[ has joined #mlpack
zai[m] has joined #mlpack
cult- has left #mlpack []
< saksham189Gitter> Can you try implementing the two class classification only?
< sakshamb189[m]> Commonly used approaches for implementing SVM for multi-class classification are One vs. Rest and One vs. One which are both based on training multiple two-class classifiers. I think we could add support for that later on if required.
ghanima has quit [Ping timeout: 260 seconds]
< HimanshuPathakGi> OK I will go for two class classification.
< HimanshuPathakGi> First
togo has quit [Ping timeout: 272 seconds]
< KimSangYeon-DGU[> kartikdutt18 sakshamb189 Are you there?
< kartikdutt18[m]> Hey KimSangYeon-DGU , sakshamb189 , I'm here.
< sakshamb189[m]> Hey, I am here
< KimSangYeon-DGU[> Great, Ok
< KimSangYeon-DGU[> I think today's main topic is about batch normalization
< kartikdutt18[m]> Right.
< kartikdutt18[m]> The implementation of batch normalization as sakshamb189 pointed out is that it takes into input from a linear layer.
< KimSangYeon-DGU[> Yes
< KimSangYeon-DGU[> So, you guys mean we need to modify the implementation for the convolutional layer, right?
< sakshamb189[m]> No only the batchNorm layer
< kartikdutt18[m]> We need to add support for multiple features map / channels in batch norm layer.
< KimSangYeon-DGU[> Ahh, I mean batch normalization
< KimSangYeon-DGU[> * Ahh, I mean batch normalization for the convolutional layer
< kartikdutt18[m]> I have done the same for forward propogation (I haven't tested it but I think it's correct).
< kartikdutt18[m]> So the implementation would be as follows :
< kartikdutt18[m]> 1. If number of input features(input.n_rows) equal size parameter of the layer we can assume that it came from a linear layer and the current implementation would work.
< kartikdutt18[m]> 2. If they are equal, then we could perform mini batch norm (batch norm on each channel / feature map) for the input.
< kartikdutt18[m]> * 2. If they aren't equal, then we could perform mini batch norm (batch norm on each channel / feature map) for the input.
< KimSangYeon-DGU[> Is there any reference to implement that?
< kartikdutt18[m]> Sure. One second.
< sakshamb189[m]> I just have one doubt.
< sakshamb189[m]> nvm..I think I might need to think it through for sometime
< KimSangYeon-DGU[> sakshamb189: Ahh, Ok, can you tell us the point you're thinking?
< sakshamb189[m]> yup I think it should work .. the approach looks fine
< sakshamb189[m]> This way we don't have to pass any additional image dimensions through the constructor
< kartikdutt18[m]> Right, we will be calculating mean for the a feature map, the width and height won't have any effect on the mean and variance.
< kartikdutt18[m]> I think it should be ready for review by tomorrow. The forward part is nearly complete and the backward and gradient won't change much.
< KimSangYeon-DGU[> And, when implementing that, one thing I want to say is that Armadillo uses column-major matrix and PyTorch uses row-major matrix.
< kartikdutt18[m]> Right.
< KimSangYeon-DGU[> Ok, is there anything you guys want to discuss?
< KimSangYeon-DGU[> Great. Looks good to me
< kartikdutt18[m]> Awesome. Once the batch norm layer is done we will be able to do that.
< sakshamb189[m]> sounds good
< KimSangYeon-DGU[> After loading the weights, will you save it to `.bin` file, right?
< kartikdutt18[m]> Yes.
< KimSangYeon-DGU[> Ok, sounds great
< KimSangYeon-DGU[> It seems our meeting is done :)
< sakshamb189[m]> okay then we'll meet next time. Have a nice weekend guys!
< KimSangYeon-DGU[> I think the project is going well
< sakshamb189[m]> I'll review the batchnorm PR tomorrow.
< KimSangYeon-DGU[> Thanks, guys
< KimSangYeon-DGU[> Yes, have a great weekend!
< kartikdutt18[m]> Great. Have a great week @KimSangYeon-DGU , @sakshamb189
< KimSangYeon-DGU[> But, we should be careful until succeeding to convert the weight and verify it works.
< kartikdutt18[m]> <KimSangYeon-DGU[ "But, we should be careful until "> Agreed. Logically, I think it should work. Provided the weights are same I can't think of a reason why it shouldn't.
< KimSangYeon-DGU[> Awesome!
< kartikdutt18[m]> Great.
< kartikdutt18[m]> Ahh, found this PyTorch to Keras weight converter [here](https://github.com/nerox8664/pytorch2keras). I think we can include this in PoC.
< kartikdutt18[m]> Also, I will update [this repo](https://github.com/kartikdutt18/mlpack-PyTorch-Weight-Translator) tomorrow with the python part of the code.
< KimSangYeon-DGU[> Ok :)
< rcurtin> shrit[m]: sure, I saw this but my world is a bit on fire today (not literally!) so I haven't had a chance to review the CLI11 PR
< rcurtin> I think we need to avoid constexpr though because we can't count on a C++17 compiler, unfortunately
< rcurtin> are you sure constexpr is needed there?
< shrit[m]> Yes, I was not able to compile without it
< rcurtin> oh this is an MSVC error, I see from the StackOverflow post
< shrit[m]> I got very similar error to this on Stackoverflow post
< rcurtin> actually I think this would not be specific to MSVC
< rcurtin> yeah, so unfortunately I guess our only choice is to leave it in templated functions :(
< rcurtin> sorry that my suggestion was not correct! :(
< shrit[m]> You do not have to worry about, I thought you might have another idea since you are more expert than me in SFINAE
< shrit[m]> I will keep the both functions and test only for bool
< shrit[m]> The day we move to C++17 we will use these lambdas
< rcurtin> agreed!
< rcurtin> unfortunately legacy OS support probably means that day will be in... 2027 :-D
< shrit[m]> Hope this will be 2022
< rcurtin> hehe, Ubuntu LTS and RHEL are what holds us back :)
< rcurtin> although it looks like RHEL8 has gcc 8, which has basically everything we'd need (unlike RHEL7, which we should still actively support, which has the ancient gcc 4)
togo has joined #mlpack
ImQ009 has quit [Quit: Leaving]
< shrit[m]> how long do you think it is still going to be used RHEL 7?
< shrit[m]> is it still maintained ?
< rcurtin> RHEL7 EOL is 2024 :-D it is in wide use in large companies, university systems, etc.
< shrit[m]> I never used RHEL, I am not sure if it is well adapted in France, people here use mostly debian,
< shrit[m]> I have seen only one university use Fedora, this is the closest thing to RHEL
< rcurtin> that must be nice, personally I prefer debian :)
< shrit[m]> it is true debian is good, I used to use debian testing, but I had to resolve a lot of dependecy issue.
< shrit[m]> Then I have switched to Arch, and since then I found the most suitable distro for me
< rcurtin> :)
togo has quit [Ping timeout: 272 seconds]