Hi and welcome to our lesson on deep learning libraries, deep learning libraries are the tools we use
to actually create our deep cleaning networks.
They're effectively APIs which stand for application programming interfaces, which allow us to access
all of the low level code with high level functions, which you'll see shortly and make deep learning
much easier, much more accessible for us.
So deep learning to implement this when a computer is actually quite difficult, there's a lot of moving
parts and there's a massive amount of calculations.
It just takes a lot of time and it can be prone to breaking because there's so many things to think
about.
So it's a lot.
And then there's a lot of complexity in implementing special features like special lost functions and
optimizes.
So basically, don't try this at all.
However, actually, you should.
What a.
Don't try making your own deep learning library with low level code because it's already been done.
That's what I need.
You can actually, when I said you can try at home, it's that you can actually use Python a number
and try to create your own deep learning library purely as a learning exercise.
You don't actually, you're not going to actually use this in real life because these depleting libraries
like PyTorch, TensorFlow and Keras will us as part of TensorFlow effectively, which we'll talk about
soon.
They're so well developed.
We have so many engineers, probably thousands of engineers working on these libraries.
So the reason it's a very high standard in efficiency and accessibility and features.
So the two main ones that we're going to talk about and discuss is TensorFlow and PyTorch know TensorFlow
was developed by Google, actually, and it's been released maybe since 2014 to maybe around then maybe
before.
I'm not entirely sure which was more recently released.
I think it's in 2016 by Facebook, and these guys have made so many updates and revisions.
TensorFlow is on 2.0, 2.0, 2.5 or 2.6 right now.
PI touches on one point nine one revisions to so many visions and so many good features have added their
amazing, amazingly fast.
They're quite mature and reliable and stable and is very, very good support for both of them.
Online does good documentation.
There's good forums, communities that help each other, researchers and generally I would stick to
using these two.
Now you may have heard me mention Keros.
Well, what exactly is Keros?
Well, Keras is I'll talk about it a bit more detail, but Caris is basically an abstraction for TensorFlow,
and it actually has been incorporated into TensorFlow 2.0, and it makes using TensorFlow Library much
easier and adds a lot of features as well.
So the TensorFlow guys and Google decided, let's just merge these two libraries together and get to
get the best of both worlds.
So let's talk a bit about why we're using these two libraries.
Look at this graph on the top right here.
You can see basically from maybe in the mid 2000s, there was almost like a drastic increase in interest
in TensorFlow.
And that's because TensorFlow was the first major deep learning library that was open source.
There were others like Emacs in that Cafe Tejano, which I used to use.
T.A. was quite nice and had some very good documentation, too.
However, they were still never fully really well developed, and then TensorFlow came along, which
was backed by Google, and basically interest in it skyrocketed.
However, Keros, which was an abstraction that made TensorFlow much easier, also got popular simultaneously
with TensorFlow.
And then we also had PyTorch, which was released looks like 2016.
This one became immensely popular as well, and as many reasons why PI Torch became so popular.
It it basically it's a lot more python it condemns of.
If you're experience Python developer, you would tend to prefer how PyTorch works, whereas TensorFlow
kind of has its own function, coding methodology and style, which isn't as well suited for Python
programmers.
But I mean, I've gotten used to both.
I don't have any issues with using either.
I do prefer Pi Torch now, but initially I always did prefer Carris and TensorFlow because it's just
it's just so easy to get up and running and there are others, too.
Like I mentioned, Yano, which is no longer supported as deprecated, though Caffey, which was a research
language coming out of the University of Berkeley that was basically it's for fodder for my thoughts
and then is a mixed nut and paddle paddle, which is a Chinese deep learning library.
And there are a couple of the Chinese deep learning libraries, which we don't hear too much about in
the West, but they're actually quite good as well.
And you can see in this little graph fire, these are the many, many different tools.
Is it a deep learning one?
And painkillers that make up it easy to get essentially.
I mean, there's so many, these are just the most popular ones.
But you can see in terms of the deplaning libraries, there are all of these here and there are more
right now as well.
And rapper libraries, which you've seen Chris mentioned here, Chris is a rapper.
It's basically a rapper or obstruction over high level of obstruction over TensorFlow.
So let's talk about TensorFlow now.
TensorFlow is free and open source.
Like all of the as we just mentioned, it's developed internally by Google Brain and released in 2015.
It's written in C++ and CUDA could.
It was also written in C++, too, which means that it's can perform.
It can take advantage of Nvidia's GPUs, and C++ is quite efficient language, so it's very fast.
And yes, it's primarily used in Python.
However, there are other API wrappers that exist for these popular languages as well.
However, pretty much like ninety five percent of the work done into TensorFlow is going to be done
in Python and Version 2.0, which basically made a library be kind of the kind of consolidated a lot
of things in a library.
They standardize things, so a lot of features.
A lot of things were dropped, kind of, but it were incorporated in a new way.
There was also the inclusion of tens of Keros in it, which was quite good.
So let's talk about PyTorch now, also free and open sourced, developed by Facebook's research team.
Similarly, sea based Tensor Library, which could have capabilities as well.
So it's just as fast as TensorFlow, although in my experience I do find it sometimes a tad slower.
But then again, it depends.
There's many factors that affect speed, so it's not just about deep learning library that you're using,
it is primarily meant again for Python.
However, C++ is pretty well supported, though I don't know anyone personally who uses Python and C++.
So Python as a python.
Basically, this is what the definition is.
It's a python.
Be a scientific computing package in the replacement for you pay using the power of GPUs Nampai as a
numerical processing library in Python.
So it's it's basically a GPU successor in a way of it.
And basically, it's become very, very popular with the deep learning research community, mainly because
it is very, very flexible and easy to tweak and debug.
And it's quite fast as well.
So let's talk about Carousel.
Curse was developed by Francois.
Actually, it's a free, open source library, and initially it was supported to beckons.
The back back in a basic, low level is under Keros.
TensorFlow was one and antigeno.
I used to use Dano's, as I said quite a bit before TensorFlow and Tianna was quite nice.
Chris has written in Python for Python, which means that it takes about Python type approach to things.
It's primarily meant to make TensorFlow more accessible, so it obstructs a lot of the low level work
that you would do in TensorFlow and kind of like build them in the background, but you don't see it.
It's all done magically by carers, and it's it's contained several limitations.
It's very advanced, actually.
Read now, it's very customizable, not as customizable as PyTorch, but it's quite good.
And like I said, it's now bundled with TensorFlow and the two point over two point excretions.
So just to quickly summarize both TensorFlow and potpie touch a fairly low level.
However, in my opinion, PyTorch is not as low level as TensorFlow.
In some ways, and it's actually quite quite nice to use Carrera's is quite simple and quick to get
to get up and running.
It's quite fast.
You can build fairly complex models with much less code sometimes, and it's actually easier for beginners
to grasp it carries than by Python, which you will see in the next section, actually.
TensorFlow, though, has wider adoption in the industry, mainly because it was the first to market
in the way it was.
It was the first big deep learning library that came out, so everyone who has all the companies that
were in AI, maybe in the late 2020s, certainly the 2010s.
Whatever you call that era, they used TensorFlow and a lot of them are switching right now.
Like the company I work with actually uses PyTorch primarily, although we're not adverse to using TensorFlow.
It's just that we're sort of standardize on PyTorch and Python, which has gained its popularity mainly
due to research in academia because Cafe was a model of choice for them.
The library of choice for them previously and PyTorch took a lot of things from Cafe, developed it
and made it much more accessible now.
So if you're interested in comparing these deep learning libraries, Wikipedia has a little link here.
You can see comparisons probably more to date than the screenshot to.
I know, but you can take a look and compare them with features, see what interface they were written
and see what they support.
See who's backing them.
And you Typekit give you leverage support as well.
So it's it's good to keep track of what's going on in the world because you never know.
There can be another groundbreaking deep learning library that changes everything.
Who knows?
So we'll stop there, and now we'll get into the practical part of it.
We're now going to cut our first CNN Impi.
So stay tuned.
And also, I'll show that there's a reason we start with PyTorch, mainly because it's hotter, but
also because it follows the sort of methodology and design of CNN.
So you can actually see it in a more granular way as opposed to tariffs, which will obstruct and make
it seem almost too easy.
So stay tuned for that lesson.
Thank you.