Think Graph Neural Networks (GNN) are hard to understand? Try this two part series..
[Graph Neural Networks part 1/2]: This tutorial is part one of a two parts GNN series.
Graphs helps us understand and visualize the relationship and connection information in a natural and close to human behavior. Graph Neural networks are solving various machine learning problems where CNN or convolutional neural networks can not be applied.
This video is designed for the early technology adopters who want to learn graphs and graph neural networks in shortest possible amount of the time...
In this video you will get all the required technical details and necessary technical explanations related to graph and graph neural networks so that you can code them in Python using NetworkX and PyG package, and apply your knowledge immediately to your own technical problems.
This tutorial is divided into two parts with the following topics:
Part 1 (This Video Tutorial):
-----------------------------
- Fundamentals of Graph
- Mathematics of Graph
- Introduction to NetworkX Python Package
- Graph Programming with NetworkX
- Introduction to GNN
- Relationship between GNN and CNN
- Introduction to PyG (pytorch_geometric)
- Graph Visualization Tools - yEd
- Various Graph Data Manipulation
Part 2 ( • Do you want to know Gr... ):
-----------------------------
- Graph representations
-- Adjacency Matrix
-- Feature Matrix
-- Incidence Matrix
-- Degree Matrix
-- Laplacian Matrix
- Bag of Nodes
- Node Embedding and Node Embedding Space
- Applying Convolution to Graph similar to Image
- Message Passing
- Understanding Graph Datasets available in PyG
- Node Classification using MLP & GNN
- NetworkX and tSNE visualization of Graphs
- GNN Explainer
▬▬▬▬▬▬ ⏰ TUTORIAL TIME STAMPS ⏰ ▬▬▬▬▬▬
- (00:00) Tutorial Introduction
- (00:40) Part 1 Tutorial Content
- (02:22) Part 2 Tutorial Content
- (03:40) Resources & Acknowledgement
- (04:54) Graph Data Use Cases
- (09:41) Fundamentals of Graph
- (20:55) Mathematics of Graph
- (32:35) Coding Graph with NetworkX Library
- (46:17) Neighbors in Graph
- (48:20) Path_graph Type
- (49:00) Directed Graph
- (51:32) Adjacency Matrix
- (55:37) MultiDirected Graph
- (59:12) MultiEdge Attributes
- (01:00:52) MultiGraph
- (01:05:22) Sudoku Graph
- (01:07:15) Grid Graph
- (01:10:20) Graph Neural Networks (GNN)
- (01:16:28) GNN + CNN = GCN
- (01:22:44) PyG Introduction
- (01:23:36) What is a Tensor?
- (01:27:19) Datasets in PyG
- (01:39:36) Graph View in yEd
- (01:45:15) Create Graph in PyG
- (01:52:28) Recap
Google colab notebooks used in this tutorial:
-github.com/prodramp/DeepWorks...
Part 1 PDF document:
github.com/prodramp/DeepWorks...
Please visit:
------------------
- Prodramp LLC | prodramp.com | @prodramp
- / prodramp
Content Creator: Avkash Chauhan (@avkashchauhan)
- / avkashchauhan
Tags:
#ai #ml #gnn #mlops #h2oai #driverlessai #machinelearning #cloud #model #collaboration #deeplearning #modelserving #modeldeployment #keras #tensorflow #pytorch #datarobot #datahub #aiplatform #aicloud #modelperformance #modelfit #modeleffect #modelimpact #modelbias #modeldeployment #modelregistery #modelpipeline #neptuneai #streamlit #pythonapps #deepchecks #modeltesting #codeartifact #dataartifact #modelartifact #onnx #aws #supervisor #supervisord #kaggle #keplergl #mapbox #lightgbm #xgboost #classification #regression #dataengineering #pandas #keras #tensorflow #tensorboard #mnist #cnn #convnet #alexnet #prodramp #avkashchauhan #cnnexplainer #gnn #graph #graphneuralnetwork #pyg #networkx #yed #gephi
Пікірлер: 38
The Part 2 of this GNN series is out here: kzread.info/dash/bejne/iHiu1Nihl9zeo7g.html
This is exactly what I was looking for. Thanks a lot!!!!
Thank you for all the efforts you put into this! It's really good to follow along - will go for part 2 now :)
@650AILab
2 жыл бұрын
Thanks and appreciate your feedback.
Thank you so much for your hard work and great explanations! That is exactly what GNN newbies need!
@650AILab
Жыл бұрын
You're very welcome! Appreciate your comment and hope keep doing the same.
Thank u so much
Thank you very much for this great tutorial! Waiting part 2 ...
@650AILab
2 жыл бұрын
Appreciate it kindly... Part 2 is on its way, giving it the final touch before uploading.
@650AILab
2 жыл бұрын
Part 2 was released last week and here is the url - kzread.info/dash/bejne/iHiu1Nihl9zeo7g.html
Thanks
This is amazing!
@650AILab
Жыл бұрын
Thank you so much, appreciate your comment.
Hi Sir, I would like to thank you very much for providing such beautiful content. I have one doubt in adjacency matrix for undirected and weighted graphs . For example if Node A and Node B are connected and having an edge weight 12(Assumption) Now in Adjacency matrix 1. How we will decide edge weight for (Ath row, Bth Column) or (Bth row, Ath Column) ?. 2. if we can assign for only one way (Ath_row, Bth_Column) How we can decide that ? please help me in understanding this. Thanks in Advance
@650AILab
Жыл бұрын
Thanks for the comment and I do appreciate your kind feedback. The edge-weight is totally depends on what the graph represents. It can be any integer number which can be related to all the nodes in your graph and the weight can represent anything within the graph i.e. distance between nodes, the cumulative distance from a certain point, anything you would like your edge to represent holistically for every node.
@MyBrummBrumm
10 ай бұрын
I think it´s wrong in the video. In the undirected case the matrix must be symmetric. This means that the weight from A -> B must be also in the column from B -> A.
core is a homogeneoud data set can we do this also on heterogeneous ?
In Adjacency matrix (Weighted & Directed), the path between AF is A-C-E-F, can't we have path A-C-F? Also, the path for BC is X which means no connectivity, however as per the graph there is a connection which is B-A-C. Please correct me if my understanding is wrong.
@650AILab
Жыл бұрын
For the directed path you have to check for the direction of the data which limits the path, however for an undirected graph you can create path more freely and you will have lot more paths to work with. Thanks for your comment and feedback, sincerely appreciate it.
Please peovide all the resources in the description 4.21
Hi Sir..I can't able to use Digraph code. It is showing as "Digraph attribute is not included in Networkx package. My version is 3.1. I tried to reinstall it, but again the same 3.1 version is installing. It is not upgrade to 3.2. Is there any other way to upgrade the Networkx package sir..
respected sir, is GNN is applicable for image classification?
@videosbuff
Жыл бұрын
For that you gotta represent image as graph. Do you know how to represent it?
I'm sorry, but I think that the adjacency matrix shown at 25:40 is wrong. If the graph is undirected, as it's stated in the title, the matrix should be symmetric, i.e. identical to its transposed.
@650AILab
Жыл бұрын
Thanks for your comment, appreciate it sincerely. I will take a look and update as necessary.
@mojado1982
Жыл бұрын
@@650AILab Thanks to you for your very useful videos!
@merenptah1985
Жыл бұрын
You are right. The graph should be directed based on the adjacency matrix.
Sir can u give source code? Or not
@650AILab
Жыл бұрын
Thanks for your comment, appreciate it. The code and details about this video are located below: (as well as within the video details): github.com/prodramp/DeepWorks/tree/main/GraphNeuralNetworks
your video can be played in only one side of headphone
59:12
AF -> A-C-F, no need to include E. BC -> B-A-C, it's ur graph, didn't u see?
Audio only works in left headphone. Can't hear anything in the right one. This is the case for both of your GNN videos.
@650AILab
Жыл бұрын
Yes, I am sorry as I had an issue with my editing due to mic system. The newer videos do not show this problem.
@TzStories
Жыл бұрын
use mono mode instead of using stereo mode to fix your problem
@hyahyahyajay6029
4 ай бұрын
@@TzStories Tysm. The tutorial is just wat I need but I could not stand the audio coming from the side. :)
This is really a good lecture, I did wish in the beginning of the video, when you use the code. nx.draw(G) I wish you used, nx.draw(G, with_labels=True) As this would have helped beginners to better visualize what you are explaining, it includes the labels of the nodes in drawing. But this is really good, thank you.
@650AILab
Жыл бұрын
Great suggestion! Thanks for your comment.