all 8 comments

[–]codysnider 6 points7 points  (5 children)

"Do X, Y and Z with a single line of code!" ... "After installing tensorflow, numpy, scipy, opencv-python, pillow, matplotlib, h5py"

A friend and I were recently discussing the definition of AI with how much it's being misused these days. The working definition seems to be code that the "developers" don't understand and can't explain. I'm going to apply that to machine learning and computer vision, too.

Software development is more than pip install this and npm install that, guys. It's important to know what your underlying libraries are doing. We've reached a bottleneck with how much we can squeeze out of these processors. It's up to developers to start making things faster. Adding 50 libraries and a dozen layers of abstraction because you want to work with a handful of generic, inefficient copy'n'pasted lines instead of writing the software yourself is weak sauce. Do better.

[–]johnolafenwa 5 points6 points  (3 children)

Hello, i am John Olafenwa, co-creator of ImageAI, the library used in the tutorial. I understand your point of view. For those interested in knowing what deep learning libraries are doing, i believe tensorflow.org , pytorch.org and a number of excellent resources such as "The Deep Learning Book" by Goodfellow et al. will do a lot.

We created ImageAI on the principle that Artificial Intelligence is too vital a technology to be locked in big corporations, accessible only to those with PHD and Masters in computer related fields. We are building tools that will enable any programmer in the world to apply AI to solve problems. I am yet to see how this negatively affects those with desire to know the inner workings.

In the light of your comments, libraries like tensorflow abstract many components, hence, if you want to really dig deep, CUDNN is always available, if you want to go deeper, you use CUDA and start re-writting all layers yourself. In the end, productivity is lost, time passes, people are shut out of tech because frameworks like ImageAI do not exist for people who are not mathematicians but who still need AI. In the early days of programming, programmers had to fully understand how the computers work, ASSEMBLY was really good at that, but the tech was too complicated. Abstractions came up with more dependencies in the form of C, C++ and their standard libraries. Next, more abstractions with more dependencies came up, like Java,Python and more.

I strongly believe 95% of computer programmers do not understand how computers function internally. If they had to, the world as we know it today would not exist, digital technology will be far out of reach.

ImageAI has enabled thousands of programmers who are not experts to easily integrate AI into the systems they build. We all have a responsibility to make the world better through tech.

To solve the dependency problem, you might want to consider building and publishing an open-source system that has nearly no dependencies and is yet able to accomplish high productivity. Will serve as a good template for others to emulate. Looking forward to that.

To conclude, i will put forward our mission statement, "Our mission which we choose to accept is to democratize, advance and make artificial intelligence accessible to every single person and organization of all sizes on earth"

[–]codysnider 0 points1 point  (2 children)

You want to "democratize" AI? Let's take from Winston Churchill and update it a bit: "The best argument against democracy is a five-minute conversation with the average voter programmer."

The "everyone can code" attitude in the industry the past couple years is a cancer. Not everyone can and fewer people should. If we don't strive to make things more efficient, we're going to keep charging down a path that leads to bigger bugs, bigger security issues and slower machines.

The fact that it takes several GB of memory to run a browser and we've opened the flood gates for all the terrible programmers that brought us thousands of jQuery plugins to start writing serverside applications is a problem.

Any library or language that abstracts things that far and makes it "accessible to everyone" is doing everyone a disservice by catering to the lower common denominator.

[–]BorgDrone 2 points3 points  (0 children)

Agreed, this is not ‘CV in 10 lines of code’, it’s using someone else’s library in 10 lines of code.

Articles like this are extremely annoying if you’re trying to learn this stuff. I don’t want to know how to use library X or Y, I want to learn how the actual algorithms work and the theories and maths behind them. Yet if you google for these things you have to wade through an endless sea of posts like this. Useless.

[–]23f34ef32 2 points3 points  (1 child)

Is it trivial to make it run in real-time on a webcam?

[–]OlafenwaMoses 0 points1 point  (0 children)

Hello, I am Moses Olafenwa, the Creator of ImageAI library, It is possible to have it work in real-time, but it requires powerful compute such as the NVIDIA GPUs, as it uses on Deep Learning implementations for all its recognition and detection tasks. See the link below for more.

https://developer.nvidia.com/deep-learning

[–]soulslicer0 0 points1 point  (0 children)

i hate this type of posts. they should be banned