Categories
Misc

Investing in Developer Communities Across Africa: NVIDIA AI Emerging Chapters and Python Ghana

Developers across Africa honed their skills in recent online trainings made possible by the NVIDIA AI Emerging Chapters and Python Ghana collaboration.

This is a guest submitted post by Michael Young, co-founder and executive board member at Python Ghana, Python Software Foundation Fellow, and PyCon Africa Executive.

The rate of technological change is the defining characteristic of our generation. Its impact on work, labor, how people live, our social and political interactions, have all been and are being transformed by the digital revolution.” – Tony Blair, former UK prime minister.

Although Africa accounts for around 17% of the world’s population, it only contributes about 3% of the global GDP. It is a known fact that one of the major drivers directly influencing economic growth is the ability to efficiently use technology. 

In Africa several constraints impede adequate utilization of technology, such as unavailability of accessible Internet, expensive and unaffordable data bundles by local providers, and lack of educational reform to bridge the gap of skills between academia and industry. 

Despite poor incentives by governmental bodies to improve technological literacy rates, Africa is still being touted as the next significant growth market by global economic institutions. This could be attributed to its resilience to thrive despite challenging odds.

Recent global events such as the COVID-19 pandemic have fundamentally challenged traditional structures and business models.

Recent global events such as the COVID-19 pandemic have fundamentally challenged traditional structures and business models. Hafez Ghanem, the World Bank Vice President to Africa, said, “The COVID-19 pandemic is testing the limits of societies and economies across the world, and African countries are likely to be hit particularly hard”. As a result, intelligent, data-driven solutions will be crucial to enable sustainability.

Emerging technologies like AI, IoT, blockchain technology, and big data are fast-tracking the digital transformation in numerous sectors across the continent. A few multinational companies are conscientiously investing in Africa, providing resources and opportunities to emerging markets with the objective to improve the social adaptation of technology in these regions. As individuals in underserved communities make full use of these resources, more talent becomes available, which consequently attracts and increases investments, accelerating growth.

NVIDIA is taking active steps toward positively contributing to the growing trend of technology in emerging markets with NVIDIA AI Emerging Chapters. The initiative aims to provide communities with the knowledge and resources for aspiring developers to build and scale AI expertise, nurture emerging technologies, and drive innovation. 

Working with Python Ghana, NVIDIA gathered members from across the country to take part in online live training sessions with experts. The training gave participants access to world-class best practices, and knowledge to facilitate their development as AI engineers.

Many had feedback from the sessions:

 “Taking this course has been an eye opener to me. While undertaking my undergraduate degree as an electrical engineer, I was passionate to find ways faults could be detected in the transformers and other electrical devices.Honestly, after taking this course, I have better understanding and insight. The labs were helpful and quite detailed. I am actually considering opting for a PhD in electrical engineering so I can fully explore the applications of AI to predict faults and downtimes in electrical machines” -— Martha Teye, Applications of AI for Predictive Maintenance 

I’m so excited today! I completed an expert-led, hands-on workshop on Applications of AI for Anomaly Detection as part of the NVIDIA GTC21 conference. Thanks to the instructor Kevin McFall who was amazing and made tough concepts very easy to grasp. Now, I feel very confident in my ability to build strong anomaly detection models, just bring me the data (labeled or not.) A big thanks to Python Ghana and NVIDIA for giving me the opportunity to participate in this prestigious training. I got an assessment score of 100% and earned a certificate of competency as well!”  — Aseda Addai – Deseh, Applications of AI for Anomaly Detection

The workshop gave me the opportunity to add on to my experience with data manipulation and Machine Learning tools, specifically pandas, numpy, and scikit learn libraries and packages, as I experienced new, and evidently more powerful tools, available on the RAPIDS platform. It was an insightful and exhilarating experience. I love and appreciate data science even more now.” — Kate Abena Cobbinah, Fundamentals of Accelerated Data Science

The program was very enlightening and very practical. Questions were answered almost immediately. The trainers also knew their stuff and were able to give good insights when they answered questions.” – Ahmad Bilesanmi, Introduction to Data Science

I’m grateful for a great learning experience at the Deep Learning Institute at this year’s NVIDIA GTC. A great exposition on GPU-accelerated data science. We were exposed to our usual pandas, numpy, scikit-learn etc. on steroids. I learned, first-hand, the utility of their GPU-equivalents in CuDF, CuPy, and CuML. Imagine loading 58,479,894 rows of data in 2 seconds with CuDF compared to 30 seconds with pandas.” — Kwodwo Graham, Fundamentals of Accelerated Data Science with RAPIDS

Categories
Misc

What is a Machine Learning Model?

When you shop for a car, the first question is what model — a Honda Civic for low-cost commuting, a Chevy Corvette for looking good and moving fast, or maybe a Ford F-150 to tote heavy loads. For the journey to AI, the most transformational technology of our time, the engine you need is a Read article >

The post What is a Machine Learning Model? appeared first on The Official NVIDIA Blog.

Categories
Misc

Tensorflow Lite supported Machine Learning Models

Hi

I am relatively new to TensorFlow lite. I would like to ask that whether tensorflow supports deep learning only or we can deploy other models such LDA and SVM through tensorflow lite.

submitted by /u/usmanqadir91
[visit reddit] [comments]

Categories
Misc

Differentiation in JAX with Simple Examples

Differentiation in JAX with Simple Examples submitted by /u/yasserius
[visit reddit] [comments]
Categories
Misc

Validating Tensorflow lite micro research project

Hi everyone, I’m currently preparing for a research project which encapsulates TinyML (TF Lite micro) and Communication protocols. Due to the lack of researchers in TinyML in my area, I would much appreciate it if you knowledgeable folks in Embedded devices, Tensorflow, Distributed learning could help me validate my research idea ;). Feel free to pm me if you want more information.

submitted by /u/dieselVeasel
[visit reddit] [comments]

Categories
Misc

object detection: object belonging to two classes

Say an object belongs to two classes (a human might place it in either of the two). Can that be handled by labeling it with two overlapping bounding boxes, one for each class?

Does the ssd model as implemented in the object detection api handle the two boxes independently during training? From my understanding of ssd, it makes an independent membership-prediction for each of the N+1 classes (including a “no object” prediction) so I think it should work out, but I might have misunderstood.

submitted by /u/Meriipu
[visit reddit] [comments]

Categories
Misc

How to vectorize an audio sample

Hi, I can’t figure out how to vectorize audio, I want to create with autoencoder a sound detector.

a word (command) is the input and output is a sampled command in more hi-definition is just for avoiding errors on transmission or degraded audio.

thanks

submitted by /u/paulred70
[visit reddit] [comments]

Categories
Misc

TensorFlow Opportunity

Hello!

I recently founded an organization called Pythonics that specializes in provided students with free Python-related courses. If you are interested in creating a TensorFlow course, feel free to fill out the following form in indicate what course you would like to create: https://forms.gle/mrtwqqVsswSjzSQQ7

If you have any questions at all, send me a DM and I will gladly answer them, thank you!

Note: I am NOT profiting off of this, this is simply a service project that I created.

submitted by /u/RussianFlipFlop
[visit reddit] [comments]

Categories
Misc

Prediction for data the model haven’t seen?

Hey, I have dataset of brain tumors mri images with three type of tumors, when i trained a u-net model the results came out (79%) dicecoef.the problem i am facing is if i added healthy brain images to the database the results came almost smiller 79%, but when i plot the results for healthy images, the result should be blank dark but they show like this https://imgur.com/a/jXbLUMt .

how can i fix this problem ?

and in general question how to train a model to handel images not trained on,like if a model trained on classification of images of cats and dogs and presented an image of tree shouldn’t the model give results of unkonw or something familier?

submitted by /u/Ali99695
[visit reddit] [comments]

Categories
Misc

SoftBank Solves Key Mobile Edge Computing Challenges Using NVIDIA Maxine

SoftBank is a global technology player that aspires to drive the Information Revolution.  The company operates in broadband, fixed-line telecommunications, ecommerce, information technology, finance, media, and marketing. To improve their users’ communication experience, and overcome the 5G capacity and coverage issues, SoftBank has used NVIDIA Maxine GPU-accelerated SDKs with state-of-the-art AI features to build virtual … Continued

SoftBank is a global technology player that aspires to drive the Information Revolution.  The company operates in broadband, fixed-line telecommunications, ecommerce, information technology, finance, media, and marketing. To improve their users’ communication experience, and overcome the 5G capacity and coverage issues, SoftBank has used NVIDIA Maxine GPU-accelerated SDKs with state-of-the-art AI features to build virtual collaboration and content creation applications.

In this post, you learn how SoftBank used the Maxine SuperResolution and hardware-accelerated encode-decode operations to reduce the amount of data that must be uplinked to the multi-access edge computing (MEC) servers. Besides solving the challenge of limited bandwidth, Maxine features such as noise removal and virtual background enabled SoftBank to deliver the best video conferencing solution for their users.

Benefits of using MEC

Edge computing enables providers to deploy their technology closer to users. Simply put, edge computing reduces bandwidth and latency budgets for mission-critical, high-throughput, low-latency applications. This is achieved using MEC network technology to move the computing from a remote cloud server to a node closer to the consumption source. Edge computing relies heavily on network technologies such as 4G, and more recently 5G, to provide connectivity.

Diagram demonstrating the regular pipeline in a MEC 5G infrastructure. Edge devices like mobile phones are severed by 5G transmission infrastructure, which is connected to the MEC server. The MEC server is where you deploy Maxine SDKs. Finally, the MEC server is connected to the central cloud.
Figure 1. Simplified overview of a pipeline involving MEC servers

5G features such as ultra-high-speed, ultra-low latency, and multiple simultaneous connections enable new use cases such as telemedicine and smart factories that were previously unfeasible with wireless connectivity. MEC is the key to realizing the support of low-latency, high-throughput use cases. MEC reduces response delays by processing as much as possible at the edge by deploying regional MEC servers and sending only the minimum necessary data to the cloud. MEC servers often use the GPU massively parallel computing power for processing large amounts of data at high speed.

Challenges with the 5G network

The current 5G networks operate in a configuration called non-standalone (NSA). This configuration combines a 4G LTE network and a 5G base station, where some 5G features (such as network slicing) are not available. 5G SA (standalone) configuration has both a 5G core and a base station. 5G SA end-to-end support for 5G speeds services, reduces costs, improves the quality of service, and is a better platform for deploying services.

When the 5G SA configuration is in the market, the full 5G network is complete. In other words, 5G evolves in two steps: 5G NSA and 5G SA. Capital investment is required for each step.

On the other hand, some telecom carriers, including SoftBank, have started using 4G LTE low-band frequency for 4G LTE and 5G NR. Theoretically, capacity and coverage are trade-offs in wireless communication. To ensure the high-quality, wide-area coverage for the 5G SA configuration, SoftBank uses MEC to effectively reduce service delays as much as possible.

A graph showcasing the capacity vs. coverage tradeoff for 5G frequencies. The High-band frequency band has the highest capacity and the lowest coverage and the low band frequency band has the highest coverage but low capacity.
Figure 2. The trade-off between capacity and coverage in 5G frequencies

In addition, there are some technical challenges. Mobile networks are generally designed to accommodate a higher downlink speed than uplink. This design philosophy works for general applications such as streaming videos on a smartphone, as most of the traffic is the downlink. However, some critical applications require a strong uplink connection. One of these is video conferencing, where the user needs considerable uplink bandwidth to stream high-resolution video and audio.

The current 5G uplink capacity is insufficient, and carrier aggregation and MIMO antennas are needed to provide more uplink allocation. As more and more devices connect to 5G, saving bandwidth, especially in the uplink, is a common challenge for all global telecom carriers.

Uplink bandwidth-intensive applications, such as video conferencing, can be served with the same quality of service at reduced uplink bandwidth (for example, 500 Kbps) as with ample bandwidth (100 Mbps). In those cases, it’s possible to connect many more devices and provide high-quality services at the same time.

Video conferencing solution on MEC with NVIDIA Maxine

NVIDIA Maxine is a GPU-accelerated SDK platform that enables developers of video conferencing services to build and deploy AI-powered features that use state-of-the-art models in the cloud. Maxine includes APIs using the latest innovations from NVIDIA research, such as artifact reduction, body pose estimation, super resolution, and noise removal. Maxine also uses other products, like NVIDIA Riva, to provide features like closed captioning and access to virtual assistants. These capabilities are fully accelerated on NVIDIA GPUs to run real-time video streaming applications in the cloud.

An image showcasing the Super Resolution effect from the Video Effects SDK. The left half shows a 360p “before” and the right half showcases the 720p output
Figure 3. Overview of Maxine super resolution

Maxine applications enable service providers to offer the same features to every user on any device, including computers, tablets, and phones. The key point is that all the processing happens on the cloud so that the application running on any device requires minimal resources. Applications built with Maxine are easily deployed as microservices and scale to hundreds of thousands of streams in a Kubernetes environment.

The idea is to offload the computationally intensive processing involved in video conferencing systems and reduce the amount of data that must be uplinked to the MEC servers. This is done through a combination of video effects like super resolution and hardware-accelerated encode-decode operations. Maxine also adds quality-of-life features like noise removal, virtual background, room echo cancelation, and more.

What does this mean for end users? Essentially, an end user with a low-bandwidth connection working onsite with a wide range of background noise can get connected with clean audio and a high-definition video. For instance, a plant manager at a noisy production floor in a remote location with a 180p stream connection can seem to be in a silent conference room with a 720p stream. The offloading of compute resources also translates to longer battery life and more free memory for the end user to multitask on resource-constrained devices like mobile phones and laptops.

The features mentioned earlier are housed in the following SDKs:

In addition, the NVIDIA Video Codec SDK provides hardware-accelerated encoding and decoding to aid the infrastructure around video conferencing.

An image showcasing the Maxine AI Face codec with the benefits it provides. It has two images. The image on the left showcases the standard h.264 compression along with the bandwidth required. The image on the right showcases Maxine AI video compression, which has much lower bandwidth requirements.
Figure 4. Overview of Maxine AI Face codec

How SoftBank used NVIDIA Maxine

Typically, if you want to use a video conference solution on your mobile phone, you must first install a client application. In SoftBank’s case, the Zoom client is installed on the MEC server on the carrier network instead of the mobile phone. The video and microphone output of the mobile phone are inputs to the Zoom client on the MEC over the 5G network. MEC recognizes the smartphone’s microphone and camera as a virtual microphone and camera and uses them as input for the Zoom client.

An architecture diagram for Softbank’s proof-of-concept implementation showing the interplay between the client, MEC server, and Zoom server
Figure 5. SoftBank and Maxine POC: Overview diagram

Here are the hardware and software specifications used for the SoftBank proof of concept implementation:

This work makes use of SoftBank’s MEC servers (Windows), a modified C++-based open source WebRTC client named “WebRTC Client Momo,” and an application that uses the Video Effect SDK and Audio Effect SDK API.

The NvAFX_RUN API (NVAFX_EFFECT_DENOISER) in AudioEffectSDK and NvVFX_RUN API (NVVFX_FX_SUPER_RES) in the Video Effect SDK are used to perform video super resolution and noise removal.

Code examples to highlight important Video Effects SDK API calls. It shows the API calls needed to initialize and run the effect.
Figure 6. Sample code for Video Effects SDK API
Code examples to highlight important Audio Effects SDK API calls. It shows the API calls needed to initialize and run the effect
Figure 7. Sample code for Audio Effects SDK API

The video stream sent from the 5G user equipment using the WebRTC protocol is uploaded to the MEC at a low bit rate (in this verification, H.264 (CBR) 180p) to conserve uplink bandwidth. MEC receives degraded audio and video at low bit rates and improves quality using Maxine SDKs. For video, the MEC server uses the Maxine SuperResolution function to resize the video sent from the user equipment at 180p to 720p. SuperResolution reduces noise and restores high-frequency components, resulting in high-quality video.

Figure 8 shows the results of SuperResolution.

An image showcasing the Super Resolution effect from the Video Effects SDK (from SoftBank). The left half shows a 360p “before” and the right half showcases the 720p output
Figure 8. The original blocky image (the left half) vs. image after applying Maxine AI features (the right half)

In Figure 8, the left side is the original data before applying SuperResolution, and the right side is the image upscaled. The blocky artifacts in the facial details are replaced with more pixels, leading to a high-quality image. You can replicate these results using the sample application provided with the Video Effects SDK. For a full demonstration, see this video. NEED VIDEO UPLOADED TO YOUTUBE OR DEVZONE

As with the Super Resolution result, the noise removal results are shown in the video.

Video 1. Video showcasing the output of Noise Removal

The video shows the results of testing the Maxine noise removal feature in a scenario where the user is talking while typing on a keyboard. Here, keyboard sounds were selected as a sample, but noise removal was also useful in various situations throughout the development process of SoftBank’s PoC. SoftBank believes that noise removal makes noisy-environment meetings possible, such as outdoors or in a car.

You can replicate these results using the sample application provided with the Audio Effects SDK.

Improve the quality of your video stream

By deploying Maxine on their MEC servers, in addition to low latency, SoftBank now provides a high-quality video and audio experience to all end users. The improved end-user experience is achieved with high savings on the uplink bandwidth since no additional hardware or user equipment is needed. To improve the video quality further, SoftBank plans to use Maxine AI Face Codec.

For more information, see the GPU Virtualization for 5G and MEC Coexistence GTC session to learn more about SoftBank’s PoC or download Maxine SDKs to see how Maxine can improve your application. Contact us with any questions.