Hot answers tagged

24

You don't need a powerful language for programming AI. Most of the developers are using libraries like Keras, Torch, Caffe, Watson, TensorFlow, etc. Those low level libraries are highly optimized and handle all the tough work. They are built with high-performance languages, like C, C++. Python is just there for high level task like describing the neural ...


12

C++ is actually one of the most popular languages used in the AI/ML space. Python may be more popular in general, but as others have noted, it's actually quite common to have hybrid systems where the CPU intensive number-crunching is done in C++ and Python is used for higher level functions. Just to illustrate: http://mloss.org/software/language/c__/ http:...


7

If you are coming from Java, it would make a lot of sense to play around with deeplearning4J at first. From there I would start learning python as this is the primary language used today in ML. Lectures are a great way to get your feet wet in understanding and applying ML concepts. My favorites are: Stanford ML(Andrew NG): https://www.youtube.com/watch?...


5

AI is a wonderful field to get into. Not only is it in high demand in the job market, it also helps you perceive the world in a whole new way. It's great that you have a deep interest in AI. In my opinion, you'll progress faster if you are having fun. Learning is always accelerated when you are curious and deeply interested in a particular domain or ...


5

It depends how flexible it needs to be: if you have a fully-fledged system ready for production, which is not going to need much adjusting, then C++ (or even C) might be fine. You need to put a lot of time into building the software, but then it should run pretty fast. However, if you're still experimenting with settings and parameters, and maybe need to ...


3

I think it's because the actual computation isn't being done by Python, but with the optimized libraries (like tensorflow) that are built with low level programming languages. The only parts that Python is being used for is the basic program structure and getting the data into the high performance machine learning libraries. Also Python is more like a ...


3

I have been programming Java (also sometimes C++) since the 1990s, and wanted to get into AI in September 2017. I spent a lot of time with the Java implementation of TensorFlow, but I finally (after 1 month) gave up and started to learn Python. I bought the O'Reilly book "Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and ...


2

I would advise you to look into Mozilla’s implementation of Baidu DeepSpeech here


2

According to what Josh Dotson posted via medium,gives a clear insightful knowledge concerning the following; 1.Speech data besides speech recognition. Language modelling. Text to speech. Machine translation. Signal processing. And lastly, books and blogs for further research Resources for acknowledgement


2

I don't know about voice recognition but for NLP i think that Gensim could be what you are looking for! Gensim is a NLP package that contains efficient implementations of many well known functionalities for the tasks of topic modeling such as tf–idf, Latent Dirichlet allocation, Latent semantic analysis... About the readings, maybe you can start with the ...


2

I'm going to start by trying to restate your problem as I understand it. You have a game which contains weapons. Weapons are characterized by 5 different numbers, which can range over different values (1-5 in your examples?). You have a way to simulate combat involving the two weapons. The combat is random, but can be repeated many times. An average win ...


2

You probably got the back propagation wrong. I have done a test on the accuracy on adding an extra layer and the accuracy went up from 94% to 96% for me. See this for details: https://colab.research.google.com/drive/17kAJ2KJ36grG9sz-KW10fZCQW9i2Tf2c To run the notebook click Open in playground and run the code. There is a commented line which add 1 extra ...


1

It seems like you're suffering from the the dying ReLU problem. ReLU enforces positive values so the weights and biases your network learned are leading to a negative value passed through the ReLU function - meaning you would get 0. There are a few things you can do. I do not know the exact format of your data, but if it is MNIST it is possible you simply ...


1

I think the best explanation is the Pareto Principle, where in this case, 80% of the the performance comes from 20% of the code. Most machine learning frameworks have a Python API that developers use, but the internals are usually implemented using C++ or CUDA (for GPU acceleration) or using specialized libraries like BLAS. This latter component is the 20% ...


1

Yes, you are correct (I think it is quite easily implementable in C++ with pointers). The arbitrary order is to be maintained though, since Fully Connected Neural Nets are "Translationally Invariant" i.e. you have to make sure if pixel $(1,5,6)$ is being supplied to node $38$ or being indexed as $37$ as a single datapoint to be input to a Fully Connected ...


1

PyTorch now has a C++ frontend. I haven't tried it, but I'm sure you could use that. Another option, which is more production-tested, is using a message passing framework such as ZeroMQ to communicate requests and results between Python and C++ executables.


1

In the field of Automatic Speech Recognition (ASR) Kaldi is the current leader. Before Deep Neural Network era there were Sphinx and HTK.


1

You claim that C++ is technically a more powerful language than python. But that claim is wrong (or does not mean much). Remember that a programming language is a specification (often some document written in English). For example, n3337 is a late draft of the C++ specification. I don't like Python, but it does seems as powerful than C++ (even if C++ ...


Only top voted, non community-wiki answers of a minimum length are eligible