If you want to enter the field of artificial intelligence, you should first learn python.
Although the AI field supports many other languages, Python is the most widely used and the simplest. But why choose Python-after all, Python is so slow? Because most libraries use the symbolic language (symbolic language) method rather than the imperative language (imperative language) method. Explain this: instead of executing your instructions one after the other, create a calculation graph (computing graph) based on all the instructions you give. This diagram is internally optimized and compiled into executable C + + code. This way you can take advantage of the best of the two worlds: the speed of development that Python brings and the speed at which C + + executes.
I often hear people talking about deep learning and artificial intelligence-where do I start? TensorFlow is the most popular now, right? I heard that Caffe is very common, but will it not be too difficult? At Beeva Labs, we often have to deal with many different deep learning libraries, so I want to be able to share our discoveries and impressions to help those who have just entered the field of deep learning and artificial intelligence.
First of all, several commonly used deep learning languages.
TensorFlow
TensorFlow is an open source software library that uses data flow graphs for numerical calculations. TensorFlow is Google brain's second-generation machine learning system, already open source. TensorFlow can be used in many places, such as speech recognition, natural language understanding, computer vision, advertising and so on. TensorFlow is a very flexible framework that can run on a single or multiple CPUs and GPUs on a PC or server, or even on a mobile device.
TensorFlow supports Python and C + +, also allows compute distributions on CPUs and GPUs, and even supports horizontal scaling with GRPC.
Caffe
Caffe is not only one of the most established frameworks, but a veteran of the old. At first it was not a universal framework, but focused solely on computer vision, but it was very versatile. In our lab experiments, the Caffenet architecture had a 5 times-fold less training time in Caffe than in Keras (using the Theano back end). The disadvantage of Caffe is that it is not flexible enough. If you want to make a new change to it, you'll need to use C + + and CUDA programming, but you can also make some small changes using Python or Matlab interfaces.
Caffe's documentation is very poor. You need to spend a lot of time checking the code to understand it (what's the use of Xavier initialization?). What is Glorot? )。 One of the biggest drawbacks of Caffe is its installation. It needs to solve a lot of dependency packages ...
MXNet
Mxnet is one of the frameworks that supports most programming languages, including Python,r,c++,julia. But I think developers who use R will have a particular preference for mxnet, as Python has so far dominated the depth of language learning in an indisputable situation. I have some doubts about the scalability of multi-GPU and I would like to know more details about such experiments, but I am still skeptical of mxnet at the moment.
So, why is python suitable for artificial intelligence?
Google's TensorFlow basically all the code is C + + and Python, other languages generally only thousands of lines. If you talk about the speed of the part, in C + +, if you talk about development efficiency, with Python, who will use Java this underachievement language to engage in artificial intelligence? Python is a scripting language, but because it is easy to learn, quickly become a tool for scientists (MATLAB can also make scientific calculations, but the software is money, and very expensive), thus accumulating a large number of tool libraries, architecture, artificial intelligence involves a lot of data calculation, Python is very natural, simple and efficient. Most deep learning frameworks now support Python, and who doesn't use Python? Python has a lot of good deep learning libraries available, life is too short to use Python.
How can I use a python-developed machine learning model to run quickly and cost-efficiently, with depth-compatible tensorflow? You can learn the Aiy Projects project under Google. It is also promoting the interest of AI in developers and DIY communities through programs such as the Aiy project, which in itself represents artificial intelligence. Google's goal is to enable the AI to achieve real civilian, so that AI everywhere, everyone can learn.
Into the field of artificial intelligence, why must learn python!