Ahmad Bazzi
Ahmad Bazzi
  • 175
  • 17 364 986
CUDA Programming for Image Processing
💡 Giveaway steps:
✅ 1. Register to NVIDIA GTC via nvda.ws/3kvUNTr
✅ 2. Wait for #GTC23 to start and join the Keynote livestream.
✅ 3. Attend GTC sessions (there’s really a lot of sessions going on - just pick one you’re interested in) 😄
✅ 4. Screenshot me a proof that you attended the keynote and a session of your choice on my email: bazziapps@gmail.com
✅ 5. Subscribe to my CZcams channel here - czcams.com/users/ahmadbazzi 😅
✉️ Email: bazziapps@gmail.com
⏱Outline:
00:00 Intro
01:45 4080 RTX Giveaway steps
02:45 Importing numba
03:00 Importing numpy
03:21 Importing exponential from math
03:30 The CUDA JIT decorator @cuda.jit
04:21 Gaussian kernel filter for CUDA
06:02 CUDA to device
06:33 Convolution for CUDA
09:55 Python Imaging Library
10:36 grayscale imaging
11:08 CUDA to device
11:17 CUDA device array like
11:29 Computing the Gaussian kernel
12:31 The CUDA convolution
12:41 Plotting via matplotlib
12:57 Testing for different sigma values
13:06 Outro
📚Related Lectures
czcams.com/video/BwP09FwnQwc/video.html
czcams.com/video/-lcWV4wkHsk/video.html
czcams.com/video/XN44YcDmtdg/video.html
czcams.com/video/ByARpzmBIxM/video.html
czcams.com/video/N4nOsJOKc1k/video.html
📚 Image processing:
Image processing is a field of computer science and engineering that deals with analysis, manipulation, and interpretation of digital images. It involves use of algorithms and techniques to extract useful information from digital images or to enhance their visual quality for human perception. Image processing has applications in a wide range of fields, including medical imaging, remote sensing, security and surveillance, robotics, and entertainment. In medical imaging, for ex, image processing techniques can be used to detect and diagnose diseases, ex. cancer, by analyzing medical images such as X-rays, CT scans.
📚 CUDA things to know:
CUDA (Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) developed by NVIDIA that enables developers to harness the power of GPUs (graphics processing units) for general-purpose computing. In image processing, CUDA can be used to accelerate various operations such as filtering, segmentation, feature extraction, and registration.
Here's how CUDA works in image processing:
1. GPU Architecture: Modern GPUs have hundreds or thousands of cores, each capable of performing simple arithmetic and logical operations. These cores are organized into streaming multiprocessors (SMs), which manage the execution of multiple threads in parallel. In contrast to CPUs (central processing units), which are optimized for serial processing of complex instructions, GPUs are optimized for parallel processing of many simple instructions.
2. CUDA Programming: To program GPUs for image processing tasks, developers can use the CUDA C/C++ programming language, which extends the standard C/C++ language with special keywords and functions for parallel programming. CUDA programs consist of a host program running on the CPU and a device program running on the GPU. The host program prepares data for processing and launches kernel functions on the GPU to perform computations in parallel.
3. Image Processing Tasks: CUDA can accelerate various image processing tasks, such as:
✅ Filtering: Filtering operations such as blurring, sharpening, and edge detection can be accelerated using CUDA by applying convolution kernels to the image data in parallel.
✅ Segmentation: Segmentation tasks such as thresholding and region growing can be accelerated using CUDA by applying segmentation algorithms to image data in parallel.
✅ Feature Extraction: Feature extraction tasks such as feature detection, description, and matching can be accelerated using CUDA by applying feature extraction algorithms to image data in parallel.
4. CUDA Libraries: NVIDIA provides several CUDA libraries that can be used for image processing, such as:
✅ cuFFT: a library for fast Fourier transforms on the GPU, which can be used for filtering and other operations.
✅ cuBLAS: a library for basic linear algebra operations on the GPU, which can be used for matrix operations in image processing.
✅ cuDNN: a library for deep neural networks on the GPU, which can be used for tasks such as image classification and object detection.
✅ OpenCV GPU: a GPU-accelerated version of the popular OpenCV library for computer vision, which includes functions for image processing and computer vision tasks.
In summary, CUDA can significantly accelerate image processing tasks by leveraging the parallel processing power of GPUs. Developers can use CUDA programming techniques and libraries to accelerate various image processing tasks such as filtering, segmentation, feature extraction, and registration.
🙏🏻 Credits:
Dan G. for directing
Moe D. for editing
Samer S. for brainstorming
Bensound for audio
This video is created under a creative common's license.
#gtc23 #cuda #imageprocessing
zhlédnutí: 162 853

Video

Striding CUDA like i'm Johnnie Walker
zhlédnutí 545KPřed rokem
💡 Giveaway steps: ✅ 1. Register to NVIDIA GTC via nvda.ws/3kvUNTr ✅ 2. Wait for #GTC23 to start and join the Keynote livestream. ✅ 3. Attend GTC sessions (there’s really a lot of sessions going on - just pick one you’re interested in) 😄 ✅ 4. Screenshot me a proof that you attended the keynote and a session of your choice on my email: bazziapps@gmail.com ✅ 5. Subscribe to my CZcams channel here ...
Symmetric Rank 1 | Exact Line Search | Theory and Python Code | Optimization Techniques #7
zhlédnutí 94KPřed rokem
In the seventh lecture, we talk about a well-known optimization technique which falls under the category of quasi Newton methods, and is called the symmetric rank 1 (SR1) algorithm. This lecture contains everything you need to know about the symmetric rank 1 optimization technique. I will show you how to use SR1 when combined with the exact line search method. The outline of this lecture is as ...
Modified Newton method | Wolfe Backtracking | Theory and Python Code | Optimization Algorithms #6
zhlédnutí 57KPřed rokem
In this one, I will show you what the modified newton algorithm is and how to use it with the backtracking search by Armijo rule. We will approach both methods from intuitive and animated perspectives. The difference between Damped and its modified newton method is that the Hessian may run into singularities at some iterations, and so we apply diagonal loading, or Tikhonov regularization at eac...
Modified Newton method | Backtracking Armijo | Theory and Python Code | Optimization Techniques #5
zhlédnutí 33KPřed rokem
In this one, I will show you what the modified newton algorithm is and how to use it with the backtracking search by Armijo rule. We will approach both methods from intuitive and animated perspectives. The difference between Damped and its modified newton method is that the Hessian may run into singularities at some iterations, and so we apply diagonal loading, or Tikhonov regularization at eac...
Modified Newton method | Exact Line Search | Theory and Python Code | Optimization Algorithms #4
zhlédnutí 66KPřed rokem
In this one, I will show you what the modified newton algorithm is and how to use it with the exact line search method. We will approach both methods from intuitive and animated perspectives. The difference between Damped and its modified newton method is that the Hessian may run into singularities at some iterations, and so we apply diagonal loading, or Tikhonov regularization at each iteratio...
Newton's method | Wolfe Condition | Theory and Python Code | Optimization Algorithms #3
zhlédnutí 41KPřed rokem
In this one, I will show you what the (damped) newton algorithm is and how to use it with the Wolfe condition for backtracking. We will approach both methods from intuitive and animated perspectives. Next, let’s talk about the line search we are going to use in this tutorial, which is based on Wolfe criterion. This is achieved by the Wolfe condition, which sufficiently decreases our function ! ...
Newton's method | Backtracking Armijo Search | Theory and Python Code | Optimization Algorithms #2
zhlédnutí 56KPřed rokem
In this one, I will show you what the (damped) newton algorithm is and how to use it with Armijo backtracking line search. We will approach both methods from intuitive and animated perspectives. Next, we talk about the line search we are going to use in this tutorial, which is the Armijo backtracking method. This is achieved by the Armijo condition, which sufficiently decreases our function ! O...
Newton's method | Exact Line Search | Theory and Python Code | Optimization Algorithms #1
zhlédnutí 46KPřed rokem
In this one, I will show you what the (damped) newton algorithm is and how to use it with the exact line search method. We will approach both methods from intuitive and animated perspectives. Context - Damped newton, just like newton’s method, makes a local quadratic approximation of the function based on information from the current point, and then jumps to the minimum of that approximation. J...
CUDA Programming on Python
zhlédnutí 1,2MPřed rokem
In this tutorial, I’ll show you everything you need to know about CUDA programming so that you could make use of GPU parallelization, thru simple modifications of your already existing code, running on a boring CPU. The following tutorial was recorded on NVIDIA’s Jetson Orin supercomputer. CUDA stands for Compute Unified Device Architecture, and is a parallel computing platform and application ...
I am giving away an RTX GPU by NVIDIA | World's Biggest FREE AI Conference - NVIDIA GTC Fall 2022
zhlédnutí 190KPřed rokem
Register for the event using this link: www.nvidia.com/gtc/?ncid=ref-crea-733228 NVIDIA GTC is the world's largest AI virtual conference, and it is open to the public for free. As a giveaway, one fortunate individual will receive an NVIDIA RTX 3080 Ti GPU (1199$ worth). The regulations of the giveaway are detailed in this video. #️⃣ Social Media #️⃣ 📸 Instagram: drahmadbazzi 🔊 Fa...
Quick Deploy: Object Detection via NGC on Vertex AI Workbench Google Cloud
zhlédnutí 93KPřed 2 lety
📚📚 About In this one, i’ll show you how to deploy one of many’s NVIDIA’s jupyter notebooks available on NGC, which in this case is object detection using TAO Detectnet on Vertex AI Workbench google cloud via NVIDIA’s new feature called Quick Deploy. For the development of AI applications on GPU-powered on-premise and cloud instances, I find that NGC catalog and Vertex AI Workbench google cloud ...
Trading crypto off Coinbase on Python | Build your trading bot to trade cryptocurrency on Coinbase
zhlédnutí 639KPřed 2 lety
BIND is here - bit.ly/3wczREa Github code - github.com/therealbazzi/CoinbaseProTradingBotExample 📚📚 About Trading crypto - This video shows you how to implement your own python trading bot to trade cryptocurrency on the coinbase platform. Here, I demonstrate the fundamentals of using Python and the Coinbase Pro API for algorithmic trading. To connect, I'm use the "cbpro" third-party library. Wi...
C# Tutorial from Scratch - Learn C# in less than 2 hours.
zhlédnutí 337KPřed 2 lety
📚📚 About In this lecture, we do an all-in-one C# tutorial. C# (pronounced "See Sharp") is a type-safe, object-oriented programming language. C# allows developers to create a wide range of safe and robust.NET applications. C# is based on the C programming language family and will be immediately known to C, C , Java, and JavaScript programmers. This tour gives an overview of the key language comp...
Pancakeswap sniping bot (all in one) python essentials for crypto trading, staking cake and more.
zhlédnutí 726KPřed 2 lety
📚📚 About In this video, I walk you through essentials of building your pancakeswap sniping bot (all in one) python essentials for crypto trading, staking cake and more. 🛠️🛠️ Tools Python - www.python.org/ ⏲⏲Outline 00:00 intro 00:23 what is pancakeswap ? 02:41 Update 04:30 Retrieve pancakeswap tokens 05:13 Pretty printing tokens 06:34 Search for pancakeswap token symbols 09:42 Get pancakeswap t...
The BEST & SMALLEST AI supercomputer I've ever laid hands on .. NVIDIA's Jetson AGX Orin 😍
zhlédnutí 395KPřed 2 lety
The BEST & SMALLEST AI supercomputer I've ever laid hands on .. NVIDIA's Jetson AGX Orin 😍
Shannon's Capacity as a Convex Optimization Problem | Convex Optimization Application # 11
zhlédnutí 86KPřed 2 lety
Shannon's Capacity as a Convex Optimization Problem | Convex Optimization Application # 11
I interviewed an AI and here’s how it went !
zhlédnutí 193KPřed 2 lety
I interviewed an AI and here’s how it went !
Cryptocurrency and stock analysis through simple performance metrics, volatility, correlations etc.
zhlédnutí 197KPřed 2 lety
Cryptocurrency and stock analysis through simple performance metrics, volatility, correlations etc.
Does Redis Stack change the database game? Redis with superpowers! 🚀🔥
zhlédnutí 525KPřed 2 lety
Does Redis Stack change the database game? Redis with superpowers! 🚀🔥
VoiceSwap (echange de voix) par NeMo NVIDIA | L'édition française
zhlédnutí 47KPřed 2 lety
VoiceSwap (echange de voix) par NeMo NVIDIA | L'édition française
Inverse Text Normalization by NVIDIA's NeMo | 3080 TI Founder's Edition Giveaway | GTC22
zhlédnutí 83KPřed 2 lety
Inverse Text Normalization by NVIDIA's NeMo | 3080 TI Founder's Edition Giveaway | GTC22
Text Normalization by NVIDIA's NeMo | 3080 TI Founder's Edition Giveaway | GTC22
zhlédnutí 93KPřed 2 lety
Text Normalization by NVIDIA's NeMo | 3080 TI Founder's Edition Giveaway | GTC22
Voice Swap using NVIDIA's NeMo on Python | GPU 3080 TI giveaway announcement | GTC'22
zhlédnutí 275KPřed 2 lety
Voice Swap using NVIDIA's NeMo on Python | GPU 3080 TI giveaway announcement | GTC'22
How i use Notion to LaTeX my equations ^^
zhlédnutí 106KPřed 2 lety
How i use Notion to LaTeX my equations ^^
Cryptocurrency headline sentiment analysis through Weights & Biases
zhlédnutí 170KPřed 2 lety
Cryptocurrency headline sentiment analysis through Weights & Biases
how i use YouTube as a python OG ^^
zhlédnutí 240KPřed 2 lety
how i use CZcams as a python OG ^^
Data Modeling in Redis | Creating 1-to-1, 1-to-many, and many-to-many relationships
zhlédnutí 117KPřed 2 lety
Data Modeling in Redis | Creating 1-to-1, 1-to-many, and many-to-many relationships
Multidimensional Newton - Approximate nonlinear equations by sequence of linear equations - lecture6
zhlédnutí 135KPřed 2 lety
Multidimensional Newton - Approximate nonlinear equations by sequence of linear equations - lecture6
I tried advanced search features of Redis in Python and here is what happened
zhlédnutí 1,1MPřed 2 lety
I tried advanced search features of Redis in Python and here is what happened

Komentáře

  • @ashishitD
    @ashishitD Před dnem

    target_backend is giving error what to do? Please help

  • @ChristineGarland-l3h

    Gerlach Junction

  • @JackQuincy-d9i
    @JackQuincy-d9i Před 11 dny

    Thomas Timothy Jackson Kimberly Brown Barbara

  • @JackQuincy-d9i
    @JackQuincy-d9i Před 11 dny

    Moore Nancy Young Betty Perez Thomas

  • @JackQuincy-d9i
    @JackQuincy-d9i Před 11 dny

    Harris Carol Davis Brian Allen Jose

  • @donaldjrtrumpy8511
    @donaldjrtrumpy8511 Před 19 dny

    bro is probably millionaire but still give lectures like this, grateful!

  • @scriptmigel
    @scriptmigel Před 20 dny

    For some reason im getting errors for A(z) = x; in the function SudokuBackTracker.m and in cbSolve.m at A_sol = SudokuBackTracker(A);.

  • @nijilgeorge2905
    @nijilgeorge2905 Před 22 dny

    Thank you for the lecture, it helped me understand the concepts. I have a doubt at 23:50, why does alpha have to be positive, shouldn't Cauchy-Schwarz inequality hold any multiple of the vectors?

  • @tooru
    @tooru Před 24 dny

    who tf uses xrange?

  • @hasnaahassan1303
    @hasnaahassan1303 Před měsícem

    Good

  • @HarshRaj-e8q
    @HarshRaj-e8q Před měsícem

    Bosssss

  • @HarshRaj-e8q
    @HarshRaj-e8q Před měsícem

    You God and Indian

  • @MercyofAllahjallahjalalahu

    Wow that is some fun interviewing the AI but the AI is lying I don't know he can do all that things what he is telling

  • @yogendrasinghchauhan5658
    @yogendrasinghchauhan5658 Před měsícem

    This model is wrong -- you have used close, high, low prices, and volume as features but it does not make sense because in real-time prediction if u have these values anyone can make a buy/sell decision.....if open<close -- buy (Training accuracy will be high for these types of model but not in real scenario)

  • @MrHjld
    @MrHjld Před měsícem

    The time complexity of the LS solution is wrong. It's actually n^3 due to the matrix inversion.

  • @SnowfallApp
    @SnowfallApp Před 2 měsíci

    You are a genius. You have showed diverse methods of analysis. You wrote candlestick code so easily. Excellent tutorial.

  • @maher9422
    @maher9422 Před 2 měsíci

    يعطيك العافية اخوي احمد بدي اطلب منك طلب بسيط انه تعمل نفس الكورس عربي عارف مش حيكون كثير المشاهدات. ولكن اخوانك يحتاجوك اكثر من الاجانب انا بفهم عليك بس فيه غيري بيحبوا المجال وبيحبوا يتعلموه بلغتهم. اذا انت ما تملك الوقت اسمحلي اترجم الفيديو واشرحه عندي بلايك من عندك على انك موافق.

  • @rakshitx1
    @rakshitx1 Před 3 měsíci

    jetson orion "super computer" 🤣🤣🤣

  • @midou6104
    @midou6104 Před 3 měsíci

    42:50 I'm here Plz tell me the rest of the video is just definition too 😅😅😅

  • @BogdanN-mp9tx
    @BogdanN-mp9tx Před 3 měsíci

    I've created my cloud project but when i go to add device, i download and install the Smart Industry App but then after I scan the QR code I have no account configured basically. If i enter my Tuya Developer Account I get an error. Anyone else having this issue ? It seems that the flow has changed because Ahmad configures his coud project and after authorising the APIs that he will use he gets another window where he sets up his Project Configuration(7:47) where he sets up his account that I guess is what he logs into his Spart Industry app to link a device to his cloud app. Anybody having issues like this ?

  • @juwanyirenda3457
    @juwanyirenda3457 Před 3 měsíci

    The best I have seen on this subject so far. Thanks, Ahmed.

  • @harispro5682
    @harispro5682 Před 4 měsíci

    Can this be done between two computers and how? I tried but error 11001 occurs...

  • @rumplejesusskin
    @rumplejesusskin Před 4 měsíci

    Very complicated for beginners

  • @Engrbilal143
    @Engrbilal143 Před 4 měsíci

    Make triton tutorial

  • @moatazyacour9971
    @moatazyacour9971 Před 5 měsíci

    Sorry for this question . But where are you from ??! I tought morocco or algeria because your surname is north african

  • @richapridarshani7721
    @richapridarshani7721 Před 5 měsíci

    as I begin I keep getting the warning: Empty cvx model; no action taken.

  • @user-vv1zo8lg2b
    @user-vv1zo8lg2b Před 5 měsíci

    Hello Sir ! Thank you for all the explanations; is it possible to have the sheet you used for the hard margin, please ?

  • @Recon368
    @Recon368 Před 5 měsíci

    Very good information, thanks.

  • @ThinAirElon
    @ThinAirElon Před 5 měsíci

    how do you calculate commission and spread ?

  • @ajaydeshpande6374
    @ajaydeshpande6374 Před 5 měsíci

    Hey Ahmad! Totally enjoying this video! Can you share the notebook here, so we can take a look at the whole thing at once for future reference?

  • @thanatosor
    @thanatosor Před 6 měsíci

    If it's eventually about just this then buying a decent 4090 aren't worthy 😂

  • @LarrysMachineShop
    @LarrysMachineShop Před 6 měsíci

    Absolutely awesome Thank you

  • @sdgamin1290
    @sdgamin1290 Před 6 měsíci

    how do i get chrome driver in windows

  • @ccuuttww
    @ccuuttww Před 6 měsíci

    why rmin is 0.02 we expected it is some kind of dollars

  • @onlyAerik
    @onlyAerik Před 6 měsíci

    It's just a normal nan ♫

  • @zainababdullah6957
    @zainababdullah6957 Před 6 měsíci

    Are there any prerequisites that should be installed before using NeMo? I followed the exact steps, but it keeps showing an error?

  • @bunnydance10
    @bunnydance10 Před 6 měsíci

    Sir on 6:55 why the optimal solution are [5.00-01] and [1.00+00]. ?

  • @jieunboy
    @jieunboy Před 6 měsíci

    Thank a lot

  • @ahmedbendjebbara2050
    @ahmedbendjebbara2050 Před 6 měsíci

    I think there is a mistake in the push function you should increment top first then do A[top]=x

  • @sugaith
    @sugaith Před 6 měsíci

    Where can I go to have a masters degree?

  • @digantobhowmik4736
    @digantobhowmik4736 Před 7 měsíci

    helpful

  • @krypto4984
    @krypto4984 Před 8 měsíci

    Great lecture, thank you

  • @zubairnisar8643
    @zubairnisar8643 Před 8 měsíci

    We can say that every convex combination is an affine combination but the converse is not true...

  • @doggydoggy0101
    @doggydoggy0101 Před 8 měsíci

    Thank you for the great series! I have some questions at 12:20 you talked about passing a posynomial through a posynomial is a generalized posynomial, however, can any generalized posynomial be represented as a posynomial of posynomials. For example, max(f1, f2) is a generalized posynomial, how can we write it as phi(f1, f2) where phi is posynomial?

  • @hezziacGames
    @hezziacGames Před 8 měsíci

    is there a way to backtest with this api insted of place an actual order to test