Good morning to you and many thanks for keeping it wide to 5.4. My name is Garandra Alex and it's always a pleasure to have you join us for youth and politics. Every Monday it's usually that time that we get to look at youth and politics, some of the things that have been relating so much and happening that relates to us as young people. Today we have quite a topic that we'd like to look at and probably just to give us a brief understanding about the buffing of Jubilee Party in September 8, 2016 after several parties merged, among them of course URP and TNA. The question of who will succeed President Uhuru Kenata has been running through the minds of many politicians from all the sides of the coin. Now 2022 politics are seemingly taking preeminence almost in each and every meeting where politicians primarily from Kielawake and Tangatanga are present. Well, this has been in the recent days considering even yesterday. We have had heated debates with politicians throwing words at each other over 2022 presidential bid.  Well, the big question is for the day, is it time for 2022 politics? To help us answer these and much more, I'm joined by two guests. Of course, among them is Mutiora Karyara. Thank you very much Alex for having me today. Karibusana. Asante. And of course I'm having right next to him Daniel Rogo, who is a political analyst. So it is a pleasure to be here. Looking forward to a wonderful discussion today. Right. Amazing you began somewhere as then you chipped in right now. Karibusana. Asante. But before we look even at the 2022 presidential succession politics, I want us to look at the CBC. That is the grade three assessment that is supposed to be commencing this morning. The rehearsals are supposed to be beginning right now. In the recent days, there have been allegations that there have been not inclusivity of some stakeholders in the sector. What do you think about it? Well, I think this is a very interesting story that we've been observing for some time. I think the introduction of CBC as a curriculum vis-a-vis the 844. It is important that we understand that it is as opposed to trying to be looking at what really do you know, but then it's really what do you have as an individual, basing on your skills, basing on your career development. So for me, I think the assessment of grade three, I would really measure it into a number of things. First is the age of these pupils right now. And if they would be subjected to call it assessment or call it exams or anything that the ministry would want to. Either way, in whatever you are subjecting these small children to and all these helebalu that comes with the exam. So one of the things that I would try to add is the fact that while we are really trying to bring up and socialize our pupils to focus on the skills as opposed to paperwork. It is also quite important to safeguard them from the fear of the processes that are coming with what we are subjecting them to. I saw the press by the CEO when she was saying that this is a very critical age where we are only asking three questions. They are below the expectation above or they have exceeded. So I think it's important that even as we subject them towards a formative or I don't know whether it's a summative process would we have put them through a system where they come appreciative as opposed to trying to make them within us. If anybody would have mentioned the word exam here, you could actually see people's faces changing or even assessment naturally. What about these small children? But then the way you said that our education has been littered with a number of conflicts which really needs to be harmonized as we speak. As we speak, you know what the troubles that the secretary general of NAT is in and all other stakeholders. So the more the inclusion, the more the consultation and the more the engagement because these are stakeholders that are quite important in trying to build up the education system. Right. Muthiura, there has been several mentions by the teachers and of course even some of them head teachers claiming that they really don't understand what exactly is expected of them. Some of them have been so clear about these issues. Do you think this will be successful? This exercise will be successful just like KCP and KCP have been before. You remember Professor Magoha, before he became the Cabinet Secretary, he was in charge of NEC and he carried out with great success these national exercises. So I expect that these grade 3 assessments will be very successful. Now the question should be, is the feedback they are going to receive from this exercise going to count in the way that they conduct the rollout of the CBC going forward? Right. And I'll tell you, it's true that from the beginning, the stakeholder engagement was not as it should have been. When our constitution says we need to engage stakeholders to have public participation, it should be carried out to the latter. Right now we are looking at a clip where kids, that's the cross-leaf PPLs, and alone they are connecting garbage from all over the markets and cleaning the markets. I don't know what you think. Are we justified to give these kids these kind of tasks? Well, that's what I said, it depends on where the question is coming from. For me I think if this is basically meant for the intellectual, I mean what the psychological development learning, I think it meets what Udari is saying here that would we have a system where it is much appreciated, more of learning, you know, either conscious or unconscious, other than telling them that you have to do this because you'll hand grades out of it. For me this is purely for the purposes of trying to understand. For example, the importance of keeping the environment clean. The personal responsibility that you as a young person have, that you do not need to be whisked by the teachers. I'm putting it so simply just to make me probably understand what they're being taken through. As opposed to being told that you know you have to do this every time. It comes out of their own responsibility as young leaders and young pupils who are learning. But now the other thing is here what we are talking about. As opposed to what my friend is talking about that you see, we have all ideas or reservations about Prof. Magoha and how he's handling the education system. Others think he's bullying and dozing way through trying to reform education system. Others in his mind is thinking that Prof. Magoha is rolled out the neck while he was in the neck, he's rolled out this CBC system and he's going to be successful. All these things, people are subject to the opinion. But mine is the moment you begin to exclude important stakeholders in a curriculum development. The moment you think that their value do not add up, that is the process of which you begin to make mistakes. For me, I think this is one of the curriculum like you said that would help in terms of restoring our, you know, trying to bridge the gap that we were seeing within the mismatch of talent and skills and attachment in jobs. But then it would be very important that we reconsider our own engagement with stakeholders as we speak. Has the government failed in terms of inclusivity? Well, I mentioned that the kind of participation that was conducted by the Ministry of Education was more of just cosmetics, let it appear as if we consulted the stakeholders, but then it was not as inclusive as it should be. So to meet some sort of a PR? Yes, and to date, I would say they're still making efforts to reach out, but this should have gone before the left decision. Before I mentioned that Prof. Magoha ran out, carried out successful examinations before. So I was referring to the CBC assessment that's happening. That's going to be successful. I can guarantee you that. Just like KCAC has been and KCPE. The question is, the feedback they are going to get, what are they going to do with it and is that going to be useful? No, with the teachers and preparedness and the ones that have said that they don't even know what they are expected to be doing. You still think we are ready for this? Well, I'll give you my own story. I moved away from a school that was a bit advanced in 1993, primary school in the Rift Valley and went to Migori County where there is a subject that I was used to doing then, art and crafting music. But for you, you did it for consistent? Yes, now when I went to this school, apparently they did not have art and crafting music. Instead, what they had was handiwork. So to begin with, when I went back home and told my father that I have been asked to get the following materials, he did not understand because it was a sif we were running on different systems. Where I was, this was not a requirement. But now I'm in this other school and this is the case. So that stakeholder engagement is very important. First, the people who interact with the children on a daily basis, that's the teacher. They need to be on board. That's currently ongoing. Now besides that, like you've seen in the clip, what the children have been taken through also involves the community. That's the parents as well. They say that it takes a whole village to educate a child. So pro-CBC because this is the new era where you need to develop a child, not just intellectually, but then throughout. Dan, you seem to be having a contrary opinion. Not really a contrary opinion, but my point of departure has been very clear in the CBC. The admission that there was a failure of stakeholder engagement when we were trying to roll out the system, it actually portrays the fact that we might have begun from some point that is not right. But then CBC to itself, I think it's one of the curriculum that will really try to bridge a lot of gap that was created by 8 for 4. Everybody agrees on that. My only point that I keep on saying is the fact that as a curriculum, the infrastructure that is already laid, you just integrated yourself there that some of the teachers, as we speak, have not even understand. What about the equipment, what about laying down? We are having schools who have not even been connected to the grid in different parts of the country. This is a system that sometimes requires that you connect it to the grid. You have full power electricity and infrastructure with it. So I am not saying that this is something that is doing in section this that you made, but what I am saying is that even as we enroll it, can we make sure that this proper infrastructure, the skills and the equipment with the teachers, the well-trained teachers that are able to carry through this curriculum with it. So I am not opposed to it, but I am saying that it is required to onboard certain things that until we speak, there is a vacience about those things whether they are there or not. And of course you can keep on interacting with us on social media platforms that is on Twitter at Y254, channel of course on my Twitter hundreds at K underscore Alex. And of course on our Facebook page it's Y254. Let's go straight to our business line of course before even TP20 gets 2-0-1-5-4 starting with 1-1-1-2-5-4. Now gentlemen, I want us to dive in into the topic of the day. Do you think it's time for 2022 politics, Muthiora? Well 2022 politics has its season. What we should be focusing on right now is running the nation and helping the government that is in office today to get the manifesto actualized as had been envisioned before. That's number one. Now that should mostly be the work of parliament because they are the ones who oversight the executive. But then look at the scenario in our leadership today. We have the ruling party that in itself is divided. We have one arm that is... And we have Tangatanga on the other side. Now the party or coalition that came second in the previous election has crossed over from the opposition into the government. So if you ask me those people who are in government right now should be focusing on delivering to the people. And those people who should be focusing on 2022 should be the citizens asking themselves if they are getting value from their leaders. And if not, then they should be looking beyond them. And of course people like me and those others who are part of the exercise in 2017 and not getting to office. We should be preparing for office in 2022. All right. It's not worthy that...  Yes. In 2017 I was a running mate, a presidential running mate for Dr. Jafit Kaluyu. We ran as independent candidates. In preparation for 2022, we've been working on building a party. And it's just a matter of time before we launch this party that's going to be all-inclusive. We'll uphold the tenets of democracy. We'll carry forward this nation to make it as great as was envisioned by those who fought for independence. And of course I understand that it's a vying for the Kibbrempi. Well, I am one of the aspirants for Kibbrempi position. But then of course we are having a problem with our party. I think you understand the intrigues in Jubilee parties we speak. Yes. We are the subject to today's IEBC dispute outcome. Of course we are another candidate subject to our self through a vetting process. Yes. We went through a vetting and everybody knows what happened and we are still waiting. But then let me say this. You asked a very critical question about 2022 in succession and all these politics that are here. One of the things I really like to agree with what my colleague is saying is that you see there is a time for everything. There might be a time for delivery of services. And to this extent the support of the president, the ruling coalition or the ruling party to deliver the big four agenda. And that is what the president has been asking each and every political players regardless of where they are coming from to support him to fulfill the big four agenda. The other thing that the president has been focusing on that is the fight against corruption. And what now is getting in is the unity pact. Yes. The unite the country towards a common cause. Alex my problem has been and let me say this that everybody who ran in 2017 has not been around for some time. And this is when I want to ask my brother, be it independent of the party that he ran through, what we could actually be seeing other political players that ran through that platform to do is to seriously hold the government accountable and be vocal in matters of governance, matters of corruption and matters of big four agenda. The problem of launching parties as we head to election, this is our doing as Kenyans. And I think instead of us sitting at a point where we ask what did you do with what you given, not only at the national level, not only at the executive level, could we begin to question what has been our political place and all the candidates who ran for presidential or any other position to begin to task even as we head through political issues, they front them and all this, could we hear the voices of those who are at the equal platform. The problem that I question and give critique that as we head to 2022, you are going to see a lot of political parties, a lot of formation and I would be very critical and ask them what have you been doing in the time that you didn't manage to get into position until now. Just a moment, let's allow him to finish. Right now, like he said, the different political camps and this is a ruling government. One of the things, this is undoing. He's only mentioned Kelebiha and Tangatang. We also have women that are embrace and all these things. The position that has forgotten their oversight role and is now daling with the government. The citizens are left at the masses of probably civil society which have not seen questioning the government a lot and the media. Daliya mentioned two things about accountability and the coming up of several teams that have been coming up. I want to give you a brief response to what you said about accountability. Well, first allow me to just respond to some things he says. You see, this is the problem with the leadership we have today. Sometimes people confuse movement with motion. You see, you need to be able to move from point A to point B. Don't just appear like you're doing something when you're not actually doing anything. Well, he's a member of Jubilee Party, I believe. And for him to point fingers at what others out there doing is really not being sincere because Jubilee is a party that has been plagued with a lot of problems. Everyone knows this. In Kibra, for instance, Jubilee nominated someone who has not even been a member of the party. You see, that shows that this party is not serious. I've been in Kenya since I was born. I've gone to school here. I've worked here. I've contributed to society here. Since 2017, we've been on the ground. You've heard about the red vest movement. Every week you've called me to this show. I have come and provided my insight about how we should move forward on things. So what I would urge young people to do is to invest their time in the courses that are going to move this nation forward not just shout about things. We have solutions to the problems that we face now about the accountability bids. It's possible we can hold our leaders to account. The first line of defense for the citizens are the leaders we've elected into parliament. They're supposed to oversight the government. When they do not do that, then we are supposed to agitate, to organize and tell them that if they do not do that, we will recall them. If you went through the motions, you know that in August, there's that clause where you can recall your MP if you're not satisfied by the work they are doing. So yes, we have to keep pushing our leaders to hold those in office to account. There's something I want to quote from the president that he said about corruption. The corruption KwaGumada has been hitting the country. He said, I'm also not seeking reelection and I quote, and don't care who is caught in the mix. He's speaking two things here. He's not seeking reelection. On the other hand he says, I don't care whomever is caught in the mix. Previously he had said something that was quite skeptical. He said, we shall keep that vow because I personally have no friends other than the people of Kenya. Who was being directed towards this statement? Looking at how jubilee is and I'd like you to precisely answer this question. How is jubilee right now because we have kia lewe kia heftanga tanga that are fighting each and every Sunday? Well, I think as a member of the party I really do not want to put this under the carpet that the house is no longer holding. The center cannot hold itself and things are falling apart. And one of the things that I really, we as young people within the party has questioned the party leader to do is to call for a parliamentary group meeting.  The only solution that sorted this problem because Alex, this is a ruling party and to that extent other political players would be important to see as a party that is able to cohesion and roll out development minus. So if there is a problem with the party we do not have to shout at different platforms but even holding the party leadership accountable from within without shouting this is what we have done as young people in the party and several times we have asked the party to hold itself avoid these camps but the other thing that happens that really it's putting at as crossword is the fact that we are having different parties under the formation. These are parties that came with different ideologies, you understand? To the merging. And the purpose is that the party leader has been vocal that is not seeking another term. The question is by the invitation and working with the opposition leader what is the line between owning a manifesto the jubilee manifesto and embracing the opposition. The difference of working with you understand and trying to commit and fulfilling the big four agenda. Do you think we have an active opposition right now? There is no, I can tell you for a fact there is no active opposition because then we are torn in between because look at the first term between 2013 to 2017 when the opposition would actively leave alone the battles in the streets even within the national assembly even within the senate and these are processes like my brother said that is the first process would actually voice their concern through the elected representatives but as we moved to after 2017 in the handshake it is actually opposition that was diluted in dealing with the government so as a person who is within the party it is not me to celebrate if the citizens the voices of the citizens are diluted within the power in trying to work within the umbrella of uniting the country. Let me go just a second. Mudiora let me tell you that even the third way alliance was the participants in the election they did not stop after the election they came and trying to find an alternative you understand? They trying to find an alternative what is better for Kenyans and hence they are proposing it is an active process that goes on. Are you proposing that even other parties should go on? No I am not saying other parties and other players well I may not be a follower of the red vest movement but I would want to see the presidential candidate what does you presidential candidate have a proposition that would help Kenyans? Issues of formation of the parties and these are issues that I have been very vocal about as we head to election and I would not really be happy about the formation of more parties we already have political players Alex The last thing that anyone should do is to take advice about forming parties from someone who is a member of the Jubilee party they have showed us how to not run a political party a party formed in 2016 and right after the election it crumbles you have heard about the beyond zero corruption these are Kenyans who have come together to fight the vice that is corruption these ill that makes sure that Kenya cannot rise now we have tried to engage stakeholders through dialogues and it is open to everyone it is not by your affiliation to a political party or to any other movement if you are tired with corruption and you want action taken the banner has been the beyond zero corruption and this is a house or an umbrella body for all Kenyans I have been a key player in that we have held protests in the streets we have been tear gas a number of times but we have not relented and our call from the very beginning was that should any state officer be implicated in corruption they should first and foremost step aside we agitated for that and eventually it came to be we saw the CSP for finance step aside we have seen a number of government officials being bad from accessing office after they have been implicated in corruption cases so you can see that the activities we have carried out have yielded some fruits now the formation of these new parties is a leeway to enhance and deepen democracy when Jubilee was formed it swallowed up a lot of political parties that's in a way shrinking the democratic space that we have that's why we can see the rise of tyranny now we want to embrace democracy we want to give voice to all Kenyans who perhaps may have a different opinion as compared to those in power have they been deprived of their right of democracy? I believe to a certain extent yes and there is something I wanted to underline from the statement my friend here made he is a young leader and he boldly came out unlike those other psychophants we see and say that the center is not holding in Jubilee work needs to be done to fix this that's what we need we need people coming out and saying we love our party we know it can deliver there's a problem on these and that can we please give away forward let's talk about the March 2018 handshake between President Huru Kenyata and the former premier has it broken some calls in the Jubilee party? it did that's why sometimes okay I'll let him take that so you can just go ahead you see you've had people say I think we are not on the right path I will not push to add I will let what the principle say is the case remain as such has it impacted the deputy president the handshake? I do not see how because his office is protected by the constitution every day when he wakes up we see him go around the country launching projects so clearly I do not see how the handshake has undermined him in any way alright Dan as somebody who is within I think I would like to tell you that was the point of conflict let's also understand where we are coming from as a country especially after the re-run of 2017 repeat election everybody understands what happened in the turmoil in our economy stagnating fear of investment stocks market coming down and I acknowledge it is important for two leaders these two most protagonists to meet and agree and not really make these two things about themselves let me begin by saying it was for the good and for the interest of all Kenyans to have a peaceful country where we would proceed to do our work as usual now coming in this platform today I do not want to repeat the incoming of BBI and the rest of all these initiatives they are meant for public good but the public have not yet received what is in stock what is the detail support that BBI is supposed to present it's final report by the end of this month even Puguzia Mizigo had their proposal but it was within the public domain it is incumbent for each and every initiative that are run as a young person I want through open data and open policy but they'll be presenting that what is in the public domain is the nine point agenda that everybody knows and can read about them but I'm going to tell you that there are issues that these two leaders might have agreed on I'm not speaking about this even the National Assembly members are asking in the interest of this country I know there's a report coming but I would want this niti griti as a person we are holding this country in trust for the future generation I would want to know exactly what is in store for the future and secondly you are asking what is in what about the deputy president let me tell you after the handshake you've seen there's a lot of changes the demeanor my brother in my sister in all these things working together automatically has not been has disappeared hence the formation now of kileweke in tanga tanga it was on the basis of this thing called the handshake in the bbq troubles did not begin after the rena of election it actually began after the handshake so it is important for political players including my brother to move to occupy this space for a long time that regardless of any political landscape we are coming from could we as young people on this space and begin to question that our political parties have not been forthcoming with the endowment and engagement of the youth mostly in important issues and policy regardless of any political formulation we are coming from could it be important for us to move in swift and begin to question critically these important documents that's quite a point that we will of course be looking at about the youth involvement because what we are lacking in this country is we do not have a critical force of young people who are drawn from different political issues agreeing on specific issue based alright so young people are really to blame on this I think they are really to blame but even asking them to you know you really need to front yourself in this initiative this is not what we have been doing as young people alright so young people need to be vocal this is what I am saying and I am glad we have one who is very vocal right here and all we have still have many watching us this morning and we should encourage them yesterday I saw in the New Kism youth doing the unforgivable someone paid them to show up with placards to heckle a leader I would urge our young people to critically think about the actions that they take we have brains let's use these brains about Tangatanga and Keleweke let's go back to the genesis if you look at the statistics you will see that the attrition rate for politicians from the Mount Kenya region is in the range of over 80% 80% of the people in parliament today are not coming back so we should see beyond the deceit the leaders currently playing around manking around and trying to curtail the president it's because they know they most probably are not coming back so what they are trying to do is to milk as much as they can from the cash cows that are ready to give at the moment and we know or we've had deputy president has some very deep pockets so let us see beyond the lie let us demand for value that's what I'll keep saying you elected the leader are they doing the job you elected them to do if they are not seek out an alternative that is credible and there are lots of them where we heading in terms of politics is the country because looking at last Sunday but one of course minor commander the nominated member of parliament throwing words towards each other same incident happened yesterday in Likipia County where we had minor commander of course obviously it was an ejection process by the Likipia County woman representative where we heading in terms of politics in 2022 well the vision 2030 in vision what the political you know all the political side of vision 2030 states us clearly that we are looking towards an issue based politics and politics that we are not really swayed aside by ethnic fidgetry or all you know name calling shouting all over what did this mean for us as youth it really places us at a position where we are inheriting a political culture where we can be able to stand in any platform irregardless of party affiliation irregardless of class to subject ourselves to citizen and sell the manifesto and citizens would actually put as a menu and decide based on the policy this is what we envision but what we are seeing we are being treated to this kind of old god political maneuvers where political has even become so detrimental that even in the centers of worship people would definitely throw words towards each other people would definitely eject from a church function it all narrows down to values and principles as a country when we allowed our politicians to water down the operations in effect of chapter 6 of the constitution then we put ourselves into leaders who do not have irregard to values and principles one of the issues that we and I am very passionate about this in future Kenyans and electorates my brother said beyond the point of dispute could we look at ourselves who are we because who we are electing into positions are exactly a reflection of who we are as a society of voters let me ask a simple question what are bad politics Muthura Kenya has had very bad politics for a very long time our political culture I think is one of the worst because to begin with it's ethnic based when it's not ethnic based then it takes social classes you've had the narrative about hustlers versus dynasties what we need to focus on are issues and we have lots of them but then to put it all together we know that our biggest problem is poverty we should be asking ourselves what is my leader doing to help alleviate our society from poverty we have the highest taxes in the world we have the highest rates of corruption you know as a nation we are not healthy our health system has failed our education system is just beginning to get fixed our leaders delivering on these things gentlemen because of time we will allow us to break for that time because time is really not on our side but as a parting short I want to ask this question will the 2022 politics should begin done? it's already taking shape and that is the narrative that it's being driven but then the only question is the voters actually to disabuse that narrative and make these politicians know that they are going to elect people based on policy and what they said precisely straight to the point let's remember that our problem is not the neighbor who is not from my tribe the problem is your inability to provide for your children that meal, the education the health that they need let us look to fix these things right, many thanks gentlemen for making it to come and discuss smart as relating to succession politics 2022 my name is Karanja Alex and I have been youth and politics Val is coming up next don't touch the door many thanks for coming we will be back


Cool. Hi guys. Hi. I'm Sharon. I'm working as a senior developer artificial intelligence in co-works So today I'm going to talk about pytorch on the basis of why did I switch? So we used to use tensorflow before my team still uses tensorflow and I'm the only one took the risk of moving to pytorch and I'm trying to convince them and I'm trying to convince you guys Okay Yeah, so I work in co-works again, and we have a small research team We called a college as co-works labs. So we do research on Middle-out vectors dot good hub.io. We can go there and see what it is. It's in the area of word embeddings So I Go by a second internet. That's a whole another story So wherever I am in you can go and find me as HH second Cool Okay, let's start. This is a gist of my talk So when I started preparing the talk I thought the major difference of pytorch from all of the popular deep learning framework is this dynamic capabilities Though I thought so I thought I should start with what is a computational graph and what are the different computational graphs, right? so We're gonna go through that and we I'm gonna give a general introduction to pytorch that you guys will get comfortable with The advance of the the design amount of coding that I've put across in the next session So the next session is where the actual talk starts why I switch and why why should you switch and then I have some bonus points Only if I have time to explain So if you guys want me to take the bonus point be alert and be attentive or at least give me that face Okay, cool Okay, so as you guys probably are aware computational graphs or The what we are doing with deep learning is trying to optimize Some mathematical function some Jane mathematical function and we're trying to find the parameters Which could actually solve this function and give you a result, right? So we are trying to find a function for any issue or for any problem that we find in universe And we are setting up a deep learning network and we are trying to optimize the parameters. That's all about it So it's all math, right? You can just do it by hand The question is do you want to do it by hand? So this is a small snippet that I took from the original LSTM paper of 1997 so this is the complexity of mathematical equation that you will have to solve to get the the the solution of the function that you're trying to solve and Probably the function so this is like a just just a small snippet from the LSTM paper So there should be a better way to do it, right? So that's how people come up with this graph approach. You picturize the whole Function that you have as a graph and You can do a lot more or at least it is in duty for you, right? When you look at that graph you exactly know how the whole flow happens much better than how you look into that equation So it's a hyperbolic tangent on two metrics multiple addition of two metrics multiplication results Right. So this is extremely useful when you start dealing with more complex graph and the complexity exponentiate as you go as you start building a really complex Really big graph. So this is another computational graph, which is a representation of Google inception model that has around a hundred layers and There is no way it's almost impossible for you to do it in by hand or by program if you don't have this approach of computational graph So you implement that by computational graph then and the advantage of having this graph Representation is you can traverse through this graph whenever you want to wear wherever you want And you can take the gradient along with you and update whatever weight you want or whatever parameters you want And you could actually use that for getting a better solution Okay, so right now I'm done with the computational graph and we're gonna start discuss about two approaches that people have taken towards this Computational graph the first one is the static approach, which is this traditional way of approaching Computational graph so MX net tensorflow piano all those popular deep learning frameworks have implemented based on the static graph approach So in static graph what you are essentially doing is computer compute your graph beforehand and keep it with you Basically the framework tries to optimize the graph definition that you have written and keep that in the memory And you loop through your data and feed this data to your graph, right? So the the only thing that you guys should be looking at is where the loop happening You are looping through your data and the graph definition is outside that loop right so The difference in dynamic graph is you're not defining your graph beforehand You are defining your graph the graph definition is inside the loop where you iterate through your data So pytorch is not the first framework that implements dynamic graphs. We had Autograph from how what almost four years back and we have got chainer We have got dinet, but the problem was all all this graph dynamic graph frameworks were concentrating on Research so what pytorch did is they took the front end of chainer and They merged that with the back end of torch, which is a well-known well-tested and superfast framework And you have a GPU optimized graph That has dynamic capabilities through pytorch Okay, so I have a small example here, which is doing the XOR operation in pytorch and tensorflow So I don't want you guys to look the other part of the code the only part that I want you to look is this The loop so first we look in the tensorflow. So if you look at the first line We are adding the bias and the result from the matrix multiplication So when when you add those two variables those two variables does not have data in it, right? It's just the placeholders. So there's no mathematics happening there It's just a placeholder and your tensorflow is trying to make a graph definition in the back end and keeping it in the memory. So So that that square in tensorflow is the graph definition, which is outside your Loop and now you are looping through your data here so basically it's looping through the epoch and trying to Feed the data into that graph right, so the graph building happening only once and in the case of pytorch the graph definition the all metrics multiplication everything is happening inside that loop and You have data in all those variables So the dot mm of w1 you have data in X Do you have data in w1 and the computation happening when the interpreter reaches that line, right? It is not waiting for the data to be fed in the future Okay, so let's Do a getting started with pytorch Okay, so this is the homepage of pytorch and it's they have a decent UI You have a couple of buttons there.  You don't import pytorch and So when the core developers started thinking about pytorch They want it to be as similar to Numbai so that a beginner who started coding in Numbai should be easily able to migrate to pytorch So this is how you create a random matrix. You have another option tensor and You take extort size for getting the shape which is actually An object which is inherited from python's tuples so you can do all the operations that you could do on python tuple and you can index you can do slicing just like how You do on python list on all the dimensions So I'm doing I'm doing some slicing on the second dimension there Okay, so another important factor about pytorch is you have this Numbai bridge And if your data set is stored in as a Numbai array You can just convert it to a pytorch tensor by calling from underscore Numbai function Or you can convert a pytorch tensor to Numbai by calling extort Numbai you'll get a Numbai array back Okay So another important difference between tensorflow and pytorch is if you want to do a GPU operation tensorflow You will have to install GPU version of tensorflow, right? But pytorch does not come as a two version. Let's have only one version and If you so when you do an x plus y the operation is happening on your CPU and the moment you want to convert back to GPU You don't you call extort CUDA and you get a GPU tensor back So if you look at here, so the same operation I'm doing here, but it's happening on GPU Right, so I have often see seen this Approach in pytorch code where people create CPU tensors and do their CPU optimized operation in CPU and The moment they need the parallelization when the moment they need The GPU optimization they convert it to CUDA and do the operation there And if they need that tensor back to CPU they can convert it back to CPU by calling dot CPU method Which is really handy, especially if you're worried about the CPU optimization and GPU optimization issues Okay, so this is really important This is basically the backbone of pytorch the autograd package which is actually responsible for doing the automatic differentiation for you and Autograd has a module called variable that has data grad and create rennet so data is Intuitive so it's it has the data in it when you want your number to be an integer a python integer You just call data and you'll get that that data the data python object back and you left your grad gradient in the dot grad object so when you do a backward pass all the data is all the gradient is gonna be accumulated in dot grad object and Pytos does not do Pytos does not update your data Automatically, it'll wait for you. It'll just acclimate the gradient in dot grad object and you are responsible for updating your weight Yeah updating your parameters So dot creator is probably the most interesting thing among these three So this is how pytorch keep the keeps the whole graph together, right? so any node will have its creator in dot creator object and You can traverse from one node to any node by calling dot creator and dot creator on the dot the creator of that particular object Yeah, so I okay, so the next object in pytorch autograd is functional module. It has addition So when you do an X plus Y The plus is the functional module plus is part of the functional module or when you do a tannage operation the tannage is part of the Functional module so basically the dot create project that I was talking about is pointing to a functional object because when you do When you take two tensors and you an addition you get it another tensor which actually created by this addition operation Okay, so this is the order the whole the parent autograd package So as per the website says this is the central to all neural networks in pytorch and you can you it has all this automatic differentiation Methods in it. Okay, so this is a typical example given by the pytorch website to show the dynamic capabilities So when the interpreter is at the the last line w underscore X is equal to variable It has data in it and that only the only the nodes created in the graph is that though those four nodes Right by torches have no clue about what is going to come next what should be the what would be the graph structure in the future And when the interpreter reaches this two line the matrix multiplication it creates that then a little addition and then do the tannage So as the interpreter reach or eat reaches each line That's when pytorch creates your graph and when you do a dot backward You do the backward pass so in the next iteration the graph structure could be different doesn't really matter It in each iteration it it you can actually Dynamically create any graph structure you want and when you do the backward pass Backward through the graph you created in that iteration, right? cool Yeah, I have The Jupiter notebook with some coordinate so Yeah, X is a variable a pytorch variable and I'm trying to print extort grad and extort data there so grad does not have any value in it because I haven't done my backward pass and Extort data is 12.3, which is a Floating point number, okay, so I'm doing the functional operation there So I'm trying to take the power and trying to multiply and do a subtraction and then passing that to the hyperbolic tangent And then I'm doing the backward right so when I execute that the graph created by to see the variable is being back propagated and Now why when I try to print the same thing that I try to print out on the second line I have the gradient in extort grad it's zero because there is no gradient and The data is same so it would not update the data when you do the backward pass Cool, so this is probably the interesting part So you can try printing the creator of Z and it says the tannous function and From the same Z you can try to print a Z dot created or previous function and give you the multiplication operator You can traverse from C so then the third line I'm trying to print the creator of creator of creator of C So from the C from the last node I can traverse back to any node I want by calling the dot creator function dot creator object Cool, this is just a pictorial representation of the same. So I have this x variable There's a function f and there is a function g so all this is connected by the creator object that you have Okay, cool, so I am done with the introduction now. We start the actual talk Why why did I switch or why should you switch? So basically I'm not I'm not saying Pytorch is better than TensorFlow in any means But what I'm trying to say is there are there were specific reasons which fight the TensorFlow did not work for me Well and Pytorch did so if you guys have the same reason and if you guys are worried about the same reason The same thing in your day-to-day job. You should probably To take the decision that I did Okay, so this are a couple of tweets that I took from last month. I guess So it has I guess a couple of funny tweets Okay, you guys can read it later Okay, so this are the four reasons that I want to put across to you to convince you That you should switch they go to abstraction, right? So tors dot f has all the functional module tors dot where autograd has all the things that related to automatic differentiation and They have got their high level module just like Keras So Keras of TensorFlow is tors dot nn So you have all the high level layers in tors dot nn you have the sequential module You have your linear layer. You have your relu layer. You can just call it by tors dot nn and dot the layer name Okay, so I want you guys to do me a favor, right? So this is a network that does the reduction and I want you guys to remember remember this network is doing production So basically what it's doing is it's taking two words the embedding of two words at a time And squeeze it together and spit out another embedding a single embedding for two words So the reduction network is for taking two words Do the reduction and spit out a single embedding outside so the one of the Easy part of or one of the the beauty of PyTorch abstraction the nn module is you can inherit from the nn dot module And you can just create any layer that you want by using the layers layers that has defined already So in the init i'm trying to initialize nn dot linear uh with the size of the Of the number of neurons and then in the forward pass i'm taking the left Leftward i'm taking the rightward and passing that to the tree lstm and getting the output embedding back cool, so Okay, so the this is probably the longest reason The or probably the strongest reason it supports dynamic graphs, right? So uh all other popular framework as i said supports static graphs And the dynamic Dynamic capability of a graph has a lot of potential. It's super powerful and i'm going to show you how it is powerful Okay, so these are the three major limitation that i found with static graphs If if your neuronal network structure is dependent on the data It's super difficult for you to implement that in a static graph, right? So you're defining your graph outside and when you iterate your data only when you iterate through your data You get the structure of your input data And if you want your if you want to build a neural network that has a structure depends on the data It's extremely difficult to implement in a static graph But since in PyTorch it's happening dynamically you can do it on the fly you can create your graph on the fly And a typical example would be a sequence data. So you will have to have a sequence unit for each word in your data and Actually all the static graph framework has worked around like tf.y loop or tf.dynamic rnn But but PyTorch offers you can use the language primitives or language constructs And you can implement it by your own you can just put a for loop inside your forward function And you can have the dynamic capability you don't have to learn A new construct like tf.y loop to implement a dynamic capability in your graph Okay, the next point is it's also really important, especially in the field of reinforcement learning in natural language processing as well so If your input if your neural network structure is depends on the computation happening inside your network There is no way other than you do some hacks a static graph could implement that right? I have a super good example for this too And the third point is if you are into a research and if you want to change the gradient or weight on the fly It's very difficult to do that in a static graph, but it's supernatural and intuitive in a dynamic graph like PyTorch so basically The after all the reason why the deep learning framework exists Is to make the life of a developer easy right? But when you start approaching a new problem when you start conceptualizing a new problem or prototyping something What static graphs does is it restricts the way you think you have to be in this Box that has a lot of constraints. You have to be inside and think how you could approach that particular problem But uh dynamic graph is actually opening up that box for you And so this is the example that I was talking about This is the this is the research done in natural stand for natural language inference group so Basically it it tries to address the two problems that I was talking about By by implementing it in dynamic graph So this particular problem has neural network structure depends on the input data And neural network structure Depends on the computation happening inside the network. So the problem is this Uh, you have a sentence. Okay. I'm not going to define the whole problem. I just define what we need here. Uh, so the The problem is to do sentence classification. You get a sentence and you do classification on that sentence Right the the way they approach the sentence classification problem is what make dynamic graphs implementation is much more easier than Static graph implementation So I have a typical example here. The church has cracks in the ceiling. So they have 500 k sentences that actually parsed and put it as a parse tree So basically it's parsed based on the phrases. Uh, the church is a Verbal phrase, I guess no, it's a known phrase has cracks in the ceiling is a verb phrase and In the ceiling is a prepositional phase. So you have this parsed data in with you and you are You are approaching this in another way. You put this another List with you that has the operation that you should do at any point of time s means shift and r means radio so radio is what we have seen before the reduction network and Basically how we are trying to approach this problem is when the parser List says it is s we try to push One word from that buffer of input sentence to a stack when it says reduce We pop two words from the stack and do the reduction and push it back to the stack Okay, I have a representation for that So this is the transition list that you have that has operations in it and that's the buffer you have that has the word in It and you have a stack So when it says s you shift the word So we have one more as you shift the next word and then it says r So what you are going to do is you pop these two words from the stack do the reduction it'll pass through that reduce network that I have defined and Push that sentence embedding back to or the embedding that you got back to the stack So that's reduce and we have a couple of shift And then we do a couple of hours So it'll always pop from the the top two and do the reduction and we have one more shift But that's a full stop and two more reduction So after this process you get the sentence embedding as this is what your sentence embedding is right So the problem that I was talking about is this the sentence length or this the length of transition list can be varied right and that's Actually what is difficult to implement in a static graph because it's the the length of that list is entirely depends on the input data that you have And you have an if else case there if the transition list says it is a yes You push that word to the stack. You're not doing any uh neural network operation But if that is an r you pass that you pop that two words and push that to uh and pass that to the reduced network that you have So there's a neural network operation. You have to build the graph if it is an r So you have this if else condition check in your network, uh, and which I don't even I don't know even tensor flow fold can implement the if else problem Uh, it can it can address the dynamic uh the sequence length problem Okay, so this is the sentence classifier the abstract. I I don't want you guys to look any of uh the chord other than the 66th line Which is where the particular problem that I was uh Saying is gonna be in the spin module So the left hand side is a spin network and the right hand side is my training chord So, uh, like I said, it's so in Uh, the 14th line it's trying to loop through that transition which could be valid for each data And in this box, it's trying to screwing that if else check right if there is a radius It has to create the graph or the reduction graph and the and do the reduction operation Okay, in the right hand side, I have the training Loop, so you have the optin module in torch that has all the optimization algorithm like rmsprop or add them or add adult or Uh, so and so and you define that and you pass your model's parameter to it So basically all the model parameter is a variable that has data and that has to grad in it So the optin package got all the variable that has grad and data in it and when it do the backward It calculates the grad and when you do up dot step optin dot step It takes the value from the grad and update your data really simple Cool, okay, so this is the third point Uh, easy debugging. So if you guys have used tensorflow before I'm pretty sure you guys have filled the fill the pain Of debugging in tensorflow, right? It's really it's really a mess. So you so the problem is when you when you put your When when you when when your chord breaks when the when your neural network breaks What are you going to get is thus the graph definition that you have written tensorflow has created a execution engine based out of that So when your chord breaks, what are you going to get back is a trace back from A set of chord which is not written by you and which is Which is probably you're not going to understand easily because it's really complex And you have to scroll through three or four pages of terminal error and error to find where exactly the error occurs Right. It's really painful But since pytorch is imperative You exactly if you can use maybe a breakpoint or some print in python and find where exactly your chord breaks And you can fix it Who the last point is control over the data and grad so I was talking to one of my friend Especially about this pytorch numbi conversion and he said me I've never been so close to the weights Or the gradients. So that's exactly the thing, right? You you you have access to your data or the gradient at any point of time in your graph Let it be the in the for loop. Let it be in mid of your training You don't have to call the session and return return back your data from the session to Understand what exactly happening in a particular part. You can just print that particular variable and you get it There in your terminal Okay, looks like I do have time for the bonus so pytorch actually created as a research framework, but what facebook offered is They They will build this intro between pytorch and cafe to real soon And once that is done, it is like tensorflow and tf serve So you can once you you build your your prototype your model in pytorch and you migrate that to cafe to And then you are ready to go in any devices because cafe to is optimized for mobile device as well And it has a pretty good Serving module as per facebook Okay, so pytorch another thing that pytorch lacks is the visualization option But pytorch does not have any visualization options yet officially, but people have tried different approaches to visualize the network And what pytorch core developers thought is tensorboard is amazing You don't have to build something again. We can just use tensorboard And there will be an official integration between pytorch and tensorboard real soon Okay, so this is something that I've used in an encoder decoder network that I have created So you will have access to all the code that I have used in the ppt in github repo So, uh, this is actually trying to unroll all the Sequence in my Encoder decoder network or you can actually print the decoder object or so I'm trying to print the decoder object here So the return of that forward the class that you have defined that you are inherited from nn.mode You will just print it and you will get the structure of Your object Okay, so this is I have used This guy's github repo. I cannot read that name. Uh, so So The code is in github gist. So it's again the error And cost of the encoder decoder network that I was talking about So this is the representation in tensorboard which took the loss and The information from pytorch and brought it for you So there is another guy called lanpa. So he has done a pretty amazing job creating Probably all the features of tensorboard integration with pytorch. You can go and check it out Okay, so I was actually planning to do benchmarking But when I started when I googled it, I thought I shouldn't be doing this because I've I've started using pytos maybe three last two months and I've never felt pytorch is lower than tensorflow in any point of time And I've never seen in google any anybody saying pytorch is lower. In fact tensorflow's github issues list has almost five issues says tensorflow is lower than pytorch. So I'm happy Um, okay, so these are the links that you could go and find the couple of benchmarks done by different people Okay, so I think I'm done Uh, oh nine minutes Okay, so this is the qr code you could scan to get access to all the links that I have And yeah, so you can connect me By using it just second my tag Cool, uh, I'm open for some questions Hi, uh, so, uh, I've been facing the similar issues in tensor for tensorflow and I shifted to pytorch recently Okay, and I think pytorch is really good But are there any loopholes for pytorch during production because the pytorch developers have said that they built pytorch for research Whereas tensorflow is built for production But I have not faced any issues for pytorch during production. So have you faced any? I haven't either. So I am using so the face recognition that we have built Uh was in tf some part of that in tf So we migrate the whole code to pytorch and that's how I started and it's running in production. We don't have any issues yet Okay, secondly, um Are the the memory optimizations which mx net has proposed like a recomputations of the relu and uh, uh batch normalization Is it uh available in pytorch does not have that so probably that's Those are a couple of the reasons why they are saying it's for research because there are no, uh optimization like the extra thing That pytorch core does for you All right. Thanks. Thanks guys


Next we have the Zook design team represented by Ben Zhang telling us about the Zook 256 stream cipher and the 1-litre new stream cipher because currently there are 3 ciphers in the ETSI, SAG, 3DPP centers like the Snow 3G There is a yes and a third is the Zook and the Snow 3G and a yes are supposed to have 256 bit versions already and now we introduce the 256 bit version of Zook for the basic configuration Zook 256 take the 256 bit security and the 1-litre 8.4 bit abbey for the confidentiality for each key and abbey pair The firm consists of 20,000 to do 32 bit question and for the integrity Zook generates 32, 64, 28 bit authentication tags but now we could support up to 256 bit tags if needed and this is the structure of the cipher, the abbey problem is the linear feedback chip register defined over to do 31-1 and each cell consists of a 31 bit word and the middle layer is a bit reorganization and there is extra some contents from the ETSI and from the 32 bit words and there are 4 from the 32 bit words X1, X0, X1, X2, X3 and at the lower part is the finished machine, there are 2 memory registers and at each tab the 32 bit question word Z is generated from the cipher and the initial interface is a little bit different there is no X1 with the X3 to the output of the finished machine is that the output of the finished machine W is shifted to the right 1 bit and then you speak back to the linear feedback chip register and if we look at the cipher carefully so 256 differs from the previous question so 128 are in the initial interface and not in the message authentication type signature interface so if you are interested in cipher, please see the 42 links and for the detailed specifications we would like to invite some cryptanalysis of this cipher and we would like to give the best cryptanalysis award on this cipher at the conference this year besides, we also would like to give the award for the best software hardware implementation so 256 also at this conference so send your results to this email address what is the award? search what do people get if they have the best paper? sir what's the price? what's the present? but currently secret that's what you get for a secret key photography so the conference time is 6th of July this year in Beijing and Beijing is very good for city with very nice parks and modern buildings and we wish to see you in Beijing this summer, thank you