Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,149,840 members, 7,806,361 topics. Date: Tuesday, 23 April 2024 at 03:23 PM

My Journey Into AI - Programming - Nairaland

Nairaland Forum / Science/Technology / Programming / My Journey Into AI (3006 Views)

My Journey Into Shopify Development ( Theme ) / My Journey Into Low/no-code Platforms / My Journey Into React Native (2) (3) (4)

(1) (Reply) (Go Down)

My Journey Into AI by bearnana(f): 11:11am On Nov 17, 2017
I was reading up on Satoshi's Bitcoin Algorithm and I stumbled on Quantum Computing which led me to AI. So I have decided to tow the line of AI. My aim is to contribute to Quantum Computing. So I created a github repo which I will try to contribute to everyday until I feel I have grasped AI and ready for Quantum Computing.

I know there are some devs that want to jump into AI but are a little confused so if you want some guidance from a newbie, I'd be updating the readme everyday before I go to bed. I hope there is another psycho out there like me who is also adventurous.

FYI, I started officially yesterday. I wrote a Tic Tac Toe game in PHP and codeigniter. So if you want to catch up, that was my task yesterday and I'm done today, so I'll drop what I did today tomorrow.

Github link : https://github.com/Bear-nana/AI-Ignorance
Re: My Journey Into AI by 4kings: 11:57am On Nov 17, 2017
Hmm, *observing*. cool
Re: My Journey Into AI by SoftEng: 12:41pm On Nov 17, 2017
bearnana:
I was reading up on Satoshi's Bitcoin Algorithm and I stumbled on Quantum Computing which led me to AI. So I have decided to tow the line of AI. My aim is to contribute to Quantum Computing. So I created a github repo which I will try to contribute to everyday until I feel I have grasped AI and ready for Quantum Computing.

I know there are some devs that want to jump into AI but are a little confused so if you want some guidance from a newbie, I'd be updating the readme everyday before I go to bed. I hope there is another psycho out there like me who is also adventurous.

FYI, I started officially yesterday. I wrote a Tic Tac Toe game in PHP and codeigniter. So if you want to catch up, that was my task yesterday and I'm done today, so I'll drop what I did today tomorrow.

Github link : https://github.com/Bear-nana/AI-Ignorance

I looked through your github page.
AI is a good field to get into. I have been reading about some promising news about Quantum Computing as well, so I guess something practical will soon be coming out of the field that has been in theory mode for a long time.
On the long run, when you delve deeper and deeper into technical aspects of modern AI (which is all about applying Machine Learning/Deep Learning/Reinforcement Learning techniques to computer vision, natural language processing, speech, robotics and so on), then you may have to use python or java (for enterprise related AI). The main reason to use python is because most of the really good libraries for modern AI are available in python. Although I have not checked, I suspect that you won't get any good AI library in PHP (except for the ones that may help you call APIs that contain pre-built AI models).

4 Likes

Re: My Journey Into AI by osarenomaspecial: 1:39pm On Nov 17, 2017
I like this thread.

1 Like

Re: My Journey Into AI by bearnana(f): 2:20pm On Nov 17, 2017
SoftEng:


I looked through your github page.
AI is a good field to get into. I have been reading about some promising news about Quantum Computing as well, so I guess something practical will soon be coming out of the field that has been in theory mode for a long time.
On the long run, when you delve deeper and deeper into technical aspects of modern AI (which is all about applying Machine Learning/Deep Learning/Reinforcement Learning techniques to computer vision, natural language processing, speech, robotics and so on), then you may have to use python or java (for enterprise related AI). The main reason to use python is because most of the really good libraries for modern AI are available in python. Although I have not checked, I suspect that you won't get any good AI library in PHP (except for the ones that may help you call APIs that contain pre-built AI models).

I know that Python is the best choice for AI. I do intend to jump to python when it seems as though PHP may not serve me well. My choice of PHP is because of my current work. I believe before I get to the part where it seems too horrendous for PHP to tackle, I'll quickly pivot to Python.
And there are Machine Learning Libraries in PHP...
Re: My Journey Into AI by osarenomaspecial: 4:28pm On Nov 17, 2017
bearnana:


I know that Python is the best choice for AI. I do intend to jump to python when it seems as though PHP may not serve me well. My choice of PHP is because of my current work. I believe before I get to the part where it seems too horrendous for PHP to tackle, I'll quickly pivot to Python.
And there are Machine Learning Libraries in PHP...
is there any Al libraries in PHP, if none you have to push to Python. If you are good in machine learning algorithm you can build library from scratch. I believe there are machine learning libraries api in PHP.
Re: My Journey Into AI by 4kings: 4:47pm On Nov 17, 2017
osarenomaspecial:
is there any Al libraries in PHP, if none you have to push to Python. If you are good in machine learning algorithm you can build library from scratch. I believe there are machine learning libraries api in PHP.
Ya, if one knows the maths then choice of language is no problem.
Re: My Journey Into AI by SoftEng: 6:12pm On Nov 17, 2017
bearnana:


I know that Python is the best choice for AI. I do intend to jump to python when it seems as though PHP may not serve me well. My choice of PHP is because of my current work. I believe before I get to the part where it seems too horrendous for PHP to tackle, I'll quickly pivot to Python.
And there are Machine Learning Libraries in PHP...

OK.
Re: My Journey Into AI by SoftEng: 6:27pm On Nov 17, 2017
4kings:

Ya, if one knows the maths then choice of language is no problem.

In terms of programming modern AI systems, it's not just about knowing the math. You can also write the low level maths in python. But there's something else you have to seriously consider. Which is your hardware. Mordern AI systems are computationally expensive.

To seriously train modern AIs (basically neural networks), you need to use a GPU (Nvidia GPUs are the most favourable to use because of their underlying very low level libraries called CUDA).

Mordern AI libraries in python are written to interface with some low level C/C++ codes which in turns interface with CUDA library for NVIDIA. So that means that interfacing your AI systems with GPU is taken care of by default for you. That means that you can then write the math equations in python (but they are processed in the GPUs). Not many languages have this kind of software library stack (interfacing with CUDA) like python. I believe Java has this capability thanks to the some AI libraries.

If your AI codes can't run on GPU (let's say because your choiced language don't yet have bindings for GPU support), it means that it will run on CPU. The difference between training your AI system on CPU and GPU is HUGE. For example, a neural network that will take 3 hours to train completely on a GPU can take 18 hours or more to train on CPU.

Lastly, I'll note here that if you are building just a small AI system, then you may not need to consider your hardware. But I'll tell you that modern AI systems that powers Language Processing systems, Computer Vision, Speech etc are nothing near small in computational size.

Fin.
Re: My Journey Into AI by osarenomaspecial: 7:42pm On Nov 17, 2017
SoftEng:


In terms of programming modern AI systems, it's not just about knowing the math. You can also write the low level maths in python. But there's something else you have to seriously consider. Which is your hardware. Mordern AI systems are computationally expensive.

To seriously train modern AIs (basically neural networks), you need to use a GPU (Nvidia GPUs are the most favourable to use because of their underlying very low level libraries called CUDA).

Mordern AI libraries in python are written to interface with some low level C/C++ codes which in turns interface with CUDA library for NVIDIA. So that means that interfacing your AI systems with GPU is taken care of by default for you. That means that you can then write the math equations in python (but they are processed in the GPUs). Not many languages have this kind of software library stack (interfacing with CUDA) like python. I believe Java has this capability thanks to the some AI libraries.

If your AI codes can't run on GPU (let's say because your choiced language don't yet have bindings for GPU support), it means that it will run on CPU. The difference between training your AI system on CPU and GPU is HUGE. For example, a neural network that will take 3 hours to train completely on a GPU can take 18 hours or more to train on CPU.

Lastly, I'll note here that if you are building just a small AI system, then you may not need to consider your hardware. But I'll tell you that modern AI systems that powers Language Processing systems, Computer Vision, Speech etc are nothing near small in computational size.

Fin.
you don't need large computational power when learning with small data set,you only need computational power when training large data set for production, it is advisable to use those popular machine learning libraries that has great abilities like scalability and so on.
Re: My Journey Into AI by 4kings: 9:14pm On Nov 17, 2017
SoftEng:


In terms of programming modern AI systems, it's not just about knowing the math. You can also write the low level maths in python. But there's something else you have to seriously consider. Which is your hardware. Mordern AI systems are computationally expensive.

To seriously train modern AIs (basically neural networks), you need to use a GPU (Nvidia GPUs are the most favourable to use because of their underlying very low level libraries called CUDA).

Mordern AI libraries in python are written to interface with some low level C/C++ codes which in turns interface with CUDA library for NVIDIA. So that means that interfacing your AI systems with GPU is taken care of by default for you. That means that you can then write the math equations in python (but they are processed in the GPUs). Not many languages have this kind of software library stack (interfacing with CUDA) like python. I believe Java has this capability thanks to the some AI libraries.

If your AI codes can't run on GPU (let's say because your choiced language don't yet have bindings for GPU support), it means that it will run on CPU. The difference between training your AI system on CPU and GPU is HUGE. For example, a neural network that will take 3 hours to train completely on a GPU can take 18 hours or more to train on CPU.

Lastly, I'll note here that if you are building just a small AI system, then you may not need to consider your hardware. But I'll tell you that modern AI systems that powers Language Processing systems, Computer Vision, Speech etc are nothing near small in computational size.

Fin.
Good point, but this depends on the datasets. Beginners would normally start small.
But for computational power, there are always cloud services like, AWS(Amazon Web Service), Google cloud platform, IBM Blue mix, Azure and so on.
I use pythonanywhere.

Though i'm not sure if these options will work for all languages(especially php) but you get the point.
Re: My Journey Into AI by SoftEng: 10:07pm On Nov 17, 2017
4kings:

Good point, but this depends on the datasets. Beginners would normally start small.
But for computational power, there are always cloud services like, AWS(Amazon Web Service), Google cloud platform, IBM Blue mix, Azure and so on.
I use pythonanywhere.

Though i'm not sure if these options will work for all languages(especially php) but you get the point.


OK.

But note that the compute power (to train your AI) that you are getting from cloud providers like AWS is still likely to be GPU-based.
Re: My Journey Into AI by SoftEng: 10:10pm On Nov 17, 2017
osarenomaspecial:
you don't need large computational power when learning with small data set,you only need computational power when training large data set for production, it is advisable to use those popular machine learning libraries that has great abilities like scalability and so on.

OK.

But even in research lab these days, you don't deal with small datasets. Take for instance ImageNet dataset for computer vision. Even CIFAR-10 dataset (which is way smaller than ImageNet) can require a decent compute power as your neural network architecture size increases.
Re: My Journey Into AI by 4kings: 10:17pm On Nov 17, 2017
SoftEng:



OK.

But note that the compute power (to train your AI) that you are getting from cloud providers like AWS is still likely to be GPU-based.
Yes Sir.
Re: My Journey Into AI by osarenomaspecial: 11:00pm On Nov 17, 2017
SoftEng:


OK.

But even in research lab these days, you don't deal with small datasets. Take for instance ImageNet dataset for computer vision. Even CIFAR-10 dataset (which is way smaller than ImageNet) can require a decent compute power as your neural network architecture size increases.
those research lab have access to free GPU for study purposes, like google for example do give free credit to train data. what am trying to say is this, use small data set to study and understand the algorithms and later move on to large data set.
Re: My Journey Into AI by TheOtherGeek(f): 7:32am On Nov 18, 2017
SoftEng:



OK.

But note that the compute power (to train your AI) that you are getting from cloud providers like AWS is still likely to be GPU-based.

Yo, it seems you're mixing things up... Earlier, you said she should use a language that makes it easy to interact with the GPU (Nvidia's CUDA), so someone mentioned using cloud solutions for training data which automatically targets the GPU but you still complained about it most likely being GPU based... (I'm confused, need clarification)

The thing is, although PHP can't target CUDA directly because libcudart.so is not available by default for the web server (or so) read this, So using PHP may be a bad idea even from the start but that doesn't mean you can't work with GPUs because you can't interact with CUDA... There is OpenCL (an alternative) and also a PHP library for it, although it was done in 2012, which is enough reason to back off except you have the mental capability to refactor the codebase, in case it happens to be deprecated (which could be overkill because it'll be most likely deprecated)

But, I'd leave @bearnana with note;
Using OpenCL over CUDA cos of compatibility issues means you have to work 5x harder (if you're building from scratch) so, just give it a thought, you could even use JavaScript if you're more comfortable with it over Python.
Read this when you've got the time;
https://news.ycombinator.com/item?id=12309419

Just don't bother yourself about what people say about large datasets...who cares, you're just learning right? Not a NASA project yet so keep learning and when you notice hops or issues then you can learn how to work with GPUs instead of the traditional CPU.

Moving Away from the topic a bit, who has used UE4?? You prototype your app using VR, that's a crazy feature built in on a C++ engine.. That's top notch machine learning and computer vision kiss, the fact that frameworks such as TensorFlow can be integrated into the engine is cool too, so one could build nice VR experiences using machine learning.

2 Likes

Re: My Journey Into AI by Nobody: 12:18pm On Nov 18, 2017
As far your computer can handle all the discrepancies . No problem .
Re: My Journey Into AI by SoftEng: 1:28pm On Nov 18, 2017
TheOtherGeek:


Yo, it seems you're mixing things up... Earlier, you said she should use a language that makes it easy to interact with the GPU (Nvidia's CUDA), so someone mentioned using cloud solutions for training data which automatically targets the GPU but you still complained about it most likely being GPU based... (I'm confused, need clarification)

The thing is, although PHP can't target CUDA directly because libcudart.so is not available by default for the web server (or so) read this, So using PHP may be a bad idea even from the start but that doesn't mean you can't work with GPUs because you can't interact with CUDA... There is OpenCL (an alternative) and also a PHP library for it, although it was done in 2012, which is enough reason to back off except you have the mental capability to refactor the codebase, in case it happens to be deprecated (which could be overkill because it'll be most likely deprecated)

But, I'd leave @bearnana with note;
Using OpenCL over CUDA cos of compatibility issues means you have to work 5x harder (if you're building from scratch) so, just give it a thought, you could even use JavaScript if you're more comfortable with it over Python.
Read this when you've got the time;
https://news.ycombinator.com/item?id=12309419

Just don't bother yourself about what people say about large datasets...who cares, you're just learning right? Not a NASA project yet so keep learning and when you notice hops or issues then you can learn how to work with GPUs instead of the traditional CPU.

Moving Away from the topic a bit, who has used UE4?? You prototype your app using VR, that's a crazy feature built in on a C++ engine.. That's top notch machine learning and computer vision kiss, the fact that frameworks such as TensorFlow can be integrated into the engine is cool too, so one could build nice VR experiences using machine learning.


Sorry for the mix up. To clarify, I meant that your subscribed cloud solution likely contain a GPU. Therefore, you will need to use a language that interfaces well with the GPUs. This means that subscribing for a cloud solution with GPU and then using a languagge that does not interface well enough with the GPU is a waste of resources.


We should not be focusing on this issue for too long. Please use any language you want to use. I have not been against this from the beginning for small dataset. Here are some of my comments earlier.

...
On the long run, when you delve deeper and deeper into technical aspects of modern AI (which is all about applying Machine Learning/Deep Learning/Reinforcement Learning techniques to computer vision, natural language processing, speech, robotics and so on), then you may have to use python or java (for enterprise related AI).
...


Lastly, I'll note here that if you are building just a small AI system, then you may not need to consider your hardware...

4 Likes

Re: My Journey Into AI by SoftEng: 1:29pm On Nov 18, 2017
osarenomaspecial:
those research lab have access to free GPU for study purposes, like google for example do give free credit to train data. what am trying to say is this, use small data set to study and understand the algorithms and later move on to large data set.

OK.
Re: My Journey Into AI by bearnana(f): 4:26pm On Nov 18, 2017
Good gracious... I didn't expect this much focus...
@SoftEng thanks for your input
SoftEng:


Lastly, I'll note here that if you are building just a small AI system, then you may not need to consider your hardware. But I'll tell you that modern AI systems that powers Language Processing systems, Computer Vision, Speech etc are nothing near small in computational size.

Fin.
Just to clarify what I did with my TicTacToe
1: I built a system that takes the moves a user makes and inserts into the database
2: If you win the computer, those moves are regarded as success moves
3: If you play again with computer and computer is to start, it plays that success moves to try to win you.
4: If you still win, it repeats step two until all the possible moves has been learnt.

Thats pretty much AI in PHP and MySql

If I wanted to do something like Language Processing, yes it would consider hardware. But think of something like [url="https://www.program-o.com/"]this[/url], its a chatbot. It was built in PHP and MySql. It still follows the same line of logic for the game.

TheOtherGeek:

But, I'd leave @bearnana with note;
Using OpenCL over CUDA cos of compatibility issues means you have to work 5x harder (if you're building from scratch) so, just give it a thought, you could even use JavaScript if you're more comfortable with it over Python.
Read this when you've got the time;
https://news.ycombinator.com/item?id=12309419

Just don't bother yourself about what people say about large datasets...who cares, you're just learning right? Not a NASA project yet so keep learning and when you notice hops or issues then you can learn how to work with GPUs instead of the traditional CPU.

Thanks for the advice, I wonder why I didn't think of JavaScript?

@osarenomaspecial Thanks for the advice.

So far the AI thing is not as confusing as I thought. There is no need to discourage anybody with hardware semantics (my system is an intel dual core and it is serving me well so far). But like I said, my reason for learning AI is because of Quantum Computation (thats where I see some real headache.
Re: My Journey Into AI by SoftEng: 7:09pm On Nov 18, 2017
bearnana:
Good gracious... I didn't expect this much focus...
@SoftEng thanks for your input

Just to clarify what I did with my TicTacToe
1: I built a system that takes the moves a user makes and inserts into the database
2: If you win the computer, those moves are regarded as success moves
3: If you play again with computer and computer is to start, it plays that success moves to try to win you.
4: If you still win it repeats step two until the all possible moves has been learnt.

Thats pretty much AI in PHP and MySql

If I wanted to do something like Language Processing, yes it would consider hardware. But think of something like [url="https://www.program-o.com/"]this[/url], it a chatbot. It was built in PHP and MySql. It still follows the same line of logic for the game.



Thanks for the advice, I wonder why I didn't think of JavaScript?

@osarenomaspecial Thanks for the advice.

So far the AI thing is not as confusing as I thought. There is no need to discourage anybody with hardware semantics (my system is an intel dual core and it is serving me well so far). But like I said, my reason for learning AI is because of Quantum Computation (thats where I see some real headache.

OK.
Good luck with your AI and Quantum Computing learning. Also, keep sharing your knowledge on these subjects just as you have already done so far (via your tic-tac-toe game).

1 Like

Re: My Journey Into AI by 4kings: 9:51pm On Nov 18, 2017
@bearnana, check out minimax algorithm for your TicTacToe game.
Re: My Journey Into AI by TheOtherGeek(f): 7:09am On Nov 19, 2017
@softeng Gotcha
Re: My Journey Into AI by 4kings: 8:11am On Nov 19, 2017
You guys should check this thread out: https://www.nairaland.com/4184884/data-science-training
Re: My Journey Into AI by mechtronics(m): 12:11pm On Nov 20, 2017
bearnana:
I was reading up on Satoshi's Bitcoin Algorithm and I stumbled on Quantum Computing which led me to AI. So I have decided to tow the line of AI. My aim is to contribute to Quantum Computing. So I created a github repo which I will try to contribute to everyday until I feel I have grasped AI and ready for Quantum Computing.

I know there are some devs that want to jump into AI but are a little confused so if you want some guidance from a newbie, I'd be updating the readme everyday before I go to bed. I hope there is another psycho out there like me who is also adventurous.

FYI, I started officially yesterday. I wrote a Tic Tac Toe game in PHP and codeigniter. So if you want to catch up, that was my task yesterday and I'm done today, so I'll drop what I did today tomorrow.

Github link : https://github.com/Bear-nana/AI-Ignorance




i will like to contribute to your repo and ilike the passion you have about AI
Re: My Journey Into AI by amulet: 1:28pm On Nov 21, 2017
Following
Re: My Journey Into AI by Chukwudaalu(m): 8:56pm On Dec 06, 2017
Wow! I'm so impressed. I'm here to learn. Keep it up great minds.
Re: My Journey Into AI by asalimpo(m): 9:44pm On Dec 06, 2017
bearnana- what's the meaning of ur name?
how did u get inspired by such a name/moniker?
sounds like a combination of bear and banana
.
banana eating bear ?

ok. back to the topic.
Isnt ai such a deep field . not for novice coders?
It requires strong knowledge of calculus,linear algebra, and statistics.
solid coding chops is a given.
Certainly not for the weak hearted.
Re: My Journey Into AI by TheOtherGeek(f): 11:58pm On Dec 06, 2017
asalimpo:
bearnana- what's the meaning of ur name?
how did u get inspired by such a name/moniker?
sounds like a combination of bear and banana
.
banana eating bear ?

ok. back to the topic.
Isnt ai such a deep field . not for novice coders?
It requires strong knowledge of calculus,linear algebra, and statistics.
solid coding chops is a given.
Certainly not for the weak hearted.
LMFAO @ banana eating bear grin
Re: My Journey Into AI by girlking(f): 8:45am On Jun 04, 2018
I am also interested in this field. How is your work going so far?

(1) (Reply)

Hot!!! How To Learn To Code Using Your Android Device / Introducing SIIT Advanced Diploma Program / The Eight Levels Of Programmers

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 88
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.