TensorFlow 2.0 Crash Course

Sdílet
Vložit
  • čas přidán 22. 05. 2024
  • Learn how to use TensorFlow 2.0 in this crash course for beginners. This course will demonstrate how to create neural networks with Python and TensorFlow 2.0.
    If you want a more comprehensive TensorFlow 2.0 course, check out this 7 hour course: • TensorFlow 2.0 Complet...
    🎥 Course created by Tech with Tim. Check out his CZcams channel: / @techwithtim
    ⭐️ Course Contents ⭐️
    ⌨️ (0:00:00) What is a Neural Network?
    ⌨️ (0:26:34) How to load & look at data
    ⌨️ (0:39:38) How to create a model
    ⌨️ (0:56:48) How to use the model to make predictions
    ⌨️ (1:07:11) Text Classification (part 1)
    ⌨️ (1:28:37) What is an Embedding Layer? Text Classification (part 2)
    ⌨️ (1:42:30) How to train the model - Text Classification (part 3)
    ⌨️ (1:52:35) How to saving & loading models - Text Classification (part 4)
    ⌨️ (2:07:09) How to install TensorFlow GPU on Linux
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: www.freecodecamp.org/news

Komentáře • 517

  • @freecodecamp
    @freecodecamp  Před 4 lety +30

    If you want to learn even more about TensorFlow, check out this 7-hour course: czcams.com/video/tPYj3fFJGjk/video.html

    • @stronggun2014
      @stronggun2014 Před 4 lety

      Which one is better?
      Should I watch this first or the other one?

    • @saurabhs4743
      @saurabhs4743 Před 4 lety +5

      @@stronggun2014 longer one has machine learning, deep learning, and reinforcement learning video parts.. however this one is only deep learning with videos on image classification and text classification

    • @pythonprogrammer8989
      @pythonprogrammer8989 Před 4 lety

      am i the only one getting an error?

    • @pythonprogrammer8989
      @pythonprogrammer8989 Před 4 lety

      is anyone getting this error?
      Failed to load the native TensorFlow runtime.

    • @ibrahimrefai1
      @ibrahimrefai1 Před 5 měsíci +1

      does the course demonstrate how to use gpus?

  • @TechWithTim
    @TechWithTim Před 4 lety +346

    Hope you guys liked it! If you want more machine learning and AI tutorials check out my channel 🔥

    • @TheAnswerworld-et6ze
      @TheAnswerworld-et6ze Před 4 lety +5

      Thank you for this presentation Tim. God bless you.

    • @kamalpandey7177
      @kamalpandey7177 Před 4 lety

      Already subscribed. Could you please reply to my question. I am beginner in this.

    • @xerowon3490
      @xerowon3490 Před 4 lety

      Big fan of your videos and I was so excited to see you doing this course

    • @toluwaniamos7681
      @toluwaniamos7681 Před 4 lety

      Thank you Tim!!!

    • @DJBremen
      @DJBremen Před 4 lety

      Thank you for this Tim!

  • @benhudelson
    @benhudelson Před 4 lety +22

    Hey Tim, great content so far. I would recommend in future videos to reduce the point size on your pen so that your handwriting is a little clearer. Thanks for putting this together. Very well constructed explanations.

  • @jordanmoore4104
    @jordanmoore4104 Před 4 lety +19

    I'm excited to learn this with Tim! He taught me Java thoroughly!

  • @colinrey4589
    @colinrey4589 Před 4 lety

    Best beginner tutorial on entire CZcams!! Thank you so much! Very good explained.

  • @jamiecybersecurity
    @jamiecybersecurity Před 4 lety +9

    (0:00:00) What is a Neural Network?
    (0:26:34) How to load & look at data
    (0:39:38) How to create a model
    (0:56:48) How to use the model to make predictions
    (1:07:11) Text Classification (part 1)
    (1:28:37) What is an Embedding Layer? Text Classification (part 2)
    (1:42:30) How to train the model - Text Classification (part 3)
    (1:52:35) How to saving & loading models - Text Classification (part 4)
    (2:07:09) How to install TensorFlow GPU on Linux

  • @johnkeating7170
    @johnkeating7170 Před 4 lety +4

    I spent 3days to watch and figure out the basic theory behind this tutorial, thank you very much~!

  • @2rfg949
    @2rfg949 Před 4 lety

    Thanks for your video. I really appreciate the simplicity of your explanations and your humility is refreshing! Will watch more.

  • @neelanjanmanna6292
    @neelanjanmanna6292 Před 4 lety +61

    Great tutorial so far, just a quick correction that the sigmoid activation function ranges between 0 and 1. What you had drawn was actually the tanh activation function, that ranges between -1 and 1. Cheers!

    • @nixlq
      @nixlq Před 4 lety +5

      Correct, I just came to write that

  • @jermaineken7772
    @jermaineken7772 Před 4 lety +5

    Was using google collab to implement this tutorial. Thank you for the great content.

  • @17Koche
    @17Koche Před 4 lety +8

    This tutorial is well put together. I was looking to learn more about neural nets and TensorFlow. this is perfect for a beginner in the field.

  • @toluwaniamos7681
    @toluwaniamos7681 Před 4 lety +2

    Thank you so much Tim!
    As a beginner into tensorflow and machine learning, you were so excellent and helped me grasp the basic tips! Thank you again!! 😀

  • @hemanthkotagiri8865
    @hemanthkotagiri8865 Před 4 lety

    Oh man, Thank you so much, Tim! I also follow your channel!

  • @joseortiz_io
    @joseortiz_io Před 4 lety +1

    Oooo awesome man! I literally just saw a video from your main channel I'm assuming! Awesome content my friend. Im trying to familiarize myself with the AI community on CZcams. Have a good one!😃👍

  • @saikumarreddyatluri3332
    @saikumarreddyatluri3332 Před 4 lety +1

    Thanks for this series we need more series of videos on tensorflow 2.0

  • @azizulhakim1534
    @azizulhakim1534 Před 3 lety +20

    He became my favorite by saying he doesn't know what Verbose is.

  • @erniea5843
    @erniea5843 Před 4 lety

    Very well done tutorial. Nice intro to TF and Neural Networks with some quick and easy to follow examples. So much to learn!

  • @raiden140188
    @raiden140188 Před 4 lety

    By far (!) the best video i have found for beginners in neural networks. And i viewed a lot. Love it!
    What killed me is the writing of numbers from the bottom to the top. Never seen writing numbers that way.

  • @just-another-life
    @just-another-life Před 3 lety +13

    1:47:14 - The verbose parameter is a simple debugging tool which prints the status of epochs while the model is being trained. In the case, verbose=1 displays the epoch number with a little decoration. Please feel free to correct if any and add more info.

    • @dassad9777
      @dassad9777 Před 3 lety

      your're right. You can use verbose to track model's progress, if you dont want to see it's learning process you can switch it off. verbose = 0 - you see absolute no progress, just when training is finished program will go on, verbose = 2 - you'll see which epoch is already trained, verbose = 1 you'll see number of epoch (for example Epoch 11/100), progress bar in %, and some parameters (loss function, and accuracy).

  • @merlinmystique
    @merlinmystique Před 4 lety

    thank you very much man, I'm a philosophy student who's trying to find a way in understing AI, that's hard but videos like this are a HUGE help, thank you very much, keep it up

  • @piccamix9345
    @piccamix9345 Před 4 lety

    thanks so much dawg, helped me out with my AI assignment, you da man!

  • @jamesparsons9068
    @jamesparsons9068 Před 4 lety

    Great explanation of the activation function.

  • @jamesh4129
    @jamesh4129 Před 4 lety

    Awesome video. Thank you. Now I feel ready to dive in with a book I picked up

  • @heritagehomes6397
    @heritagehomes6397 Před 4 lety

    Thanks for taking time and explaining this concepts with example. it helps many beginners. I teach advanced statistics and this details will help many people to understand fundamentals. nice job.

  • @SkyFly19853
    @SkyFly19853 Před 4 lety

    Thank you sooooo much for this tutorial!!!!!

  • @shawnliu8563
    @shawnliu8563 Před 4 lety +1

    Newbie in almost every aspects in what is said in this video. Took me a whole day to get to 35:10. Had issues (1). downloading python. The correct version is python3.6.1 for tensorflow 2.0.0, to avoid "from google.protobuf.pyext import _message
    ImportError: DLL load failed: The specified procedure could not be found." errors, (2). Tensorflow 2.0.0, not 2.0.0alpha0, to avoid many many many "future warnings" (3). "Cache entry deserialization failed, entry ignored", solved by opening command prompt as administrator! (4). many typo error from my own fault. Almost given up. Using windows10 pro, CPU, intel64. I know the problem relates to my special settings, but might happen to other new users. This is a great video for beginners, thou.

  • @ilegallive999
    @ilegallive999 Před 4 lety +29

    1:19:30 He prints the codes from the train_data[0], but presents the string results from test_data[0]. So there's a mismatch. Hopefully, it's helpful.

  • @chase8264
    @chase8264 Před 4 lety

    This was super helpful, thanks!

  • @ehsansaraee5473
    @ehsansaraee5473 Před 3 lety

    Love every minute of this video!great tutorial!thank you so much!

  • @ANILKHANDEI
    @ANILKHANDEI Před 4 lety

    Very nice explanation of neural netwiorks and using the same to predict the fashion mnist. This makes a lot of sense to me, thanks for this.

  • @amitkehri
    @amitkehri Před 4 lety

    Hats off to you dude. Crystal clear everything .

  • @cam41527
    @cam41527 Před 4 lety +3

    Somebody has probably already answered this but "verbose" means descriptive. If your were to enable the verbose property on an object it would normally give a lot more details about something, whether that is debug information or just printing output. Also Great Video Tim! I am a big fan of the tutorials on cutting edge technology as they are difficult to find elsewhere :) Keep up the great work

  • @AB-cp1yy
    @AB-cp1yy Před 4 lety +2

    Great job! Is there like a Part 2 video for new example modeling? Or is this the only video?

  • @ai.201
    @ai.201 Před 4 lety

    Best tutorial I've ever seen, learned so much about neural networks.

  • @samraeburn9341
    @samraeburn9341 Před 3 lety +1

    Best tensorflow tutorial ive ever seen, thanks for this one!

    • @ayushyadav4412
      @ayushyadav4412 Před 3 lety

      have yopu completed the course ?? How was it?

  • @user-fk1wo2ys3b
    @user-fk1wo2ys3b Před 3 lety

    Super clear, easy to follow explanations, THANKS!

  • @ali.swatian
    @ali.swatian Před 4 lety

    love you man. really a good teacher.

  • @tet_2947
    @tet_2947 Před 4 lety

    Thanks for that Review as å tutorial and the preps and effort in Ur workspace. It took me just å little to catch the nearby and parental prints in tensor, which came from cran-R as spss clone. Now as New Tool for the unforseeanable..... Thx and Rock on 🤘

  • @ChrisField13
    @ChrisField13 Před 4 lety +1

    This is incredible. I'm an hour in, and I feel like I've learned more practical application in this video than I have in all of the other ML research I've done combined.

  • @theegyptiancamel
    @theegyptiancamel Před 4 lety

    When you divide your data by the max value, you are essentially "normalizing" it. "Shrinking it" or more appropriately quantizing the data is a different process involving reducing the number of significant bits and the quantization step.

  • @ProgrammingwithPeter
    @ProgrammingwithPeter Před 4 lety

    Pretty neat, tensor flow grow so much

  • @maclacrosse1
    @maclacrosse1 Před 4 lety +1

    you explain this better then most college professors do and it doesn't cost me my future in student loans

  • @tak68tak
    @tak68tak Před 4 lety

    Great tutorial. Thanks. You might want to use Jupyter with Visual Studio Code, so you don't need to run from the beginning every time.

  • @nhimong1799
    @nhimong1799 Před 4 lety

    Was using google collab to implement this tutorial. Thank you for the great content.
    I'm excited to learn this with Tim! He taught me Java thoroughly!

  • @sajjaddehghani8735
    @sajjaddehghani8735 Před 4 lety

    Great explanation, thanks

  • @nikhilkumarjha
    @nikhilkumarjha Před 4 lety

    Thanks for sharing this informative tutorial. Big like (y)

  • @davincy09
    @davincy09 Před 4 lety

    i have high school math and i understook what an activation function is so is very well explained!

  • @mli8847
    @mli8847 Před 4 lety

    i am 13 years old and don't speak and understand very much englisch, but i am now watching the video at 25 min and i have understand how neural networks work and every thing else expect the activation function, thanks

  • @maoryatskan6346
    @maoryatskan6346 Před 4 lety +2

    at 00:37:00 255 represents white and 0 represents black.
    Great video! keep it up.

  • @gaddafim7959
    @gaddafim7959 Před 4 lety +311

    ⭐ course contents ⭐
    (0:00:00) what is a Neural Network?
    (0:26:34) Loading & Looking at Data
    (0:39:38) creating a model
    (0:56:48) using the model to make predictions
    (1:07:11) Text Classification p1
    (1:28:37) what is an Embedding Layer? Text Classification P2
    (1:42:30) Training the model - Text classification P3
    (1:52:35) saving & Loading Models - Text Classification 4
    (2:07:09) How to install Tensorflow GPU on Linux
    --
    Learn to code for free and get a developer job:

    • @aZaamBie135
      @aZaamBie135 Před 4 lety

      Thank you!!

    • @maoryatskan6346
      @maoryatskan6346 Před 4 lety

      That's helpful tnx

    • @PesTech1
      @PesTech1 Před 4 lety

      @@feridakifzade9070mmmmm. :
      Hmmmm

    • @calibr0636
      @calibr0636 Před 4 lety +19

      as if it wasn't already in the description

    • @azchen6511
      @azchen6511 Před 4 lety +3

      Well, ppl can click on the timestamps here, so I think it is kind of useful.

  • @thomaspgeorge4339
    @thomaspgeorge4339 Před 4 lety

    Thank you so much for this!! :D

  • @lachlanoflynn3235
    @lachlanoflynn3235 Před 4 lety

    🥺
    I'm excited to learn this with Tim! He taught me Java thoroughly!

  • @achmed20
    @achmed20 Před 4 lety

    thx a ton, i finaly understood the basics :)

  • @surajthallapalli4227
    @surajthallapalli4227 Před 4 lety +1

    Hey Tim, I enjoyed this tutorial. I have a doubt. In the text classification why wasn't nltk used to remove the stopwords and the words that doesn't make sense like 'the'. That might still improve the accuarcy. Could you please correct me if i am wrong ?

  • @vikramadityamathur2420
    @vikramadityamathur2420 Před 4 lety +1

    Great lecture. Thank you !

  • @mosyright4799
    @mosyright4799 Před 4 lety

    Excellent! Thank you

  • @BenjaSerra
    @BenjaSerra Před 4 lety +5

    for those who are having problem with the predict method, replace it with predict_classes:
    model.predict_classes([test_review])

  • @mahdiheidarpoor9452
    @mahdiheidarpoor9452 Před 4 lety

    the best video for start, its better if you can make another video for more advanced nn works with ts2...

  • @bryancc2012
    @bryancc2012 Před 4 lety

    very good tutorial!

  • @kamalpandey7177
    @kamalpandey7177 Před 4 lety

    Thanks for the video. How to calculate error in the text classification one. How can we split the dataset in test train validation one. Do all of those contains the label? and how to test the model on new different datasets. I am new to this subject.

  • @shangyunlv
    @shangyunlv Před 4 lety

    When shifting the word index by 3 and add the special token into the dictionary for "" and "" and so on, the whole system will have a mismatch of words, because such shift is not made to the data accordingly.

  • @akshiwakoti7851
    @akshiwakoti7851 Před 4 lety

    Lists and Arrays are very different data structures in the way they work during runtime. Lists are mutable objects, that is, one can add, replace, remove an element in a list whereas Arrays are immutable objects, that is, one cannot change data elements once an array has been created (you can delete the array entirely however). Lists can contain multiple types of data elements in multiple combinations, such as, a list inside a list inside a list, an array inside a nested list, a tuple, a dictionary, a string, an integer, a float, a timestamp, etc., whereas an Array must have all data elements of the same type. There are of course many other differences.

  • @raj-nq8ke
    @raj-nq8ke Před 2 lety

    Must watch for basics of TensorFlow. Good Tutorial

  • @whliao98
    @whliao98 Před 4 lety

    excited about your tutorial!!!!

  • @vinaypatil7293
    @vinaypatil7293 Před 3 lety +2

    At 1:05:25 you mentioned if we need to make predictions on a single image from the dataset we just need to put [test_images[7]] instead of test_images.
    correction:
    prediction = model.predict(np.array([test_images[7]]))
    we need to pass a NumPy array to the model else one would run into this error:
    ValueError: Input 0 of layer dense is incompatible with the layer: expected axis -1 of input shape to have value 784 but received input with shape [None, 28]

  • @anynamecanbeuse
    @anynamecanbeuse Před 4 lety

    56:27 Training acc marginally larger than the val acc indicates that a high variance problem, and extends the training epochs doesn't sound like a good idea. Tricks as regularizations, dropout or just reduce the number of parameters should be work.

  • @krunalzadafiya
    @krunalzadafiya Před 4 lety

    Hey Tim, I have only one question. Since you called the dataset "imdb", I really want to know where it is actually stored. So far, I knew I had to download it. But where does it download from and where is it stored in my storage? Doing great work !!!

  • @maratimus
    @maratimus Před 4 lety

    *Thank you so much*

  • @hohodsj
    @hohodsj Před 4 lety

    Thank you for the great video!!
    I have a quick question.
    1:40:46 from the GlobalAveragePooling1D to the next Dense layer, should it be fully connected?

  • @nick9198
    @nick9198 Před 4 lety

    awesome job mate

  • @ritukumar6956
    @ritukumar6956 Před 4 lety +1

    Great tutorial!

  • @heisenberg4703
    @heisenberg4703 Před 4 lety +6

    Took me hours to figure this out:
    If training the model takes really long, this might be the fix:
    Don't use IDLE to run the Code. Just use CMD/Terminal.

  • @WalidSadak
    @WalidSadak Před 4 lety

    THANK YOU

  • @NishantSingh-px3jm
    @NishantSingh-px3jm Před 4 lety +13

    Thank You FreeCodeCamp you people know what I want . I was just about to give ₹15000 for learning this this .
    Thanks I love you❤😄

  • @TheDeadSource
    @TheDeadSource Před 4 lety +1

    A lot of people are asking what versions of python and windows can be used to run TensorFlow 2.0. I've dug into this for you all. A lot of info is from the official site, some is from github issues and published articles regarding TF 2.0, so at the time of writing this should be accurate information.
    First, operating systems. TF 2.0 was tested and is officially supported on the following *64-bit* systems:
    * Windows 7 or later.
    * Ubuntu 16.04 or later.
    * macOS 10.12.6 (Sierra) or later - note that these versions do not offer GPU support.
    * Raspbian 9.0 or later.
    Python versions that are currently supported are:
    * Python 3.6 (but NOT Python 3.7, despite its recent release.)
    * Python 2.7.

  • @debojyotichakraborty
    @debojyotichakraborty Před 4 lety +1

    great content.

  • @RN-er7mz
    @RN-er7mz Před 4 lety

    Just wow wow wow super excited

  • @wanabenerd
    @wanabenerd Před 4 lety

    amazing video thanks!

  • @prithivik2952
    @prithivik2952 Před 4 lety

    Great video! Batch size is for parallel training GPUs..

  • @maxajames
    @maxajames Před 4 lety

    If training the model takes longer than expected, just run the cmd.exe or python.exe or Spyder or whatever you use using graphics processor. Just right click on the file in the location and click "Run with graphics processor" in Windows 10 and use the non-integrated one.

  • @ivanmorn
    @ivanmorn Před 4 lety +1

    Hi Tim thanks a lot for the tutorial.
    I'm trying to save the model via typing exactly the same as you did here.
    However, after executing the code, I just can't find the model.h5 file anywhere in my laptop. (I'm using a mac here, and there's no error message after executing the code). Is this something you can help?

  • @gradientO
    @gradientO Před 4 lety +1

    Thank you

  • @shippy5952
    @shippy5952 Před 2 lety

    Great tutorial! One question about the globalaveragepooling layer. After embedding we are actually taking the average of the embedding features over all the word vectors and not the average of every individual vector? Say we have 2 words in a sentence that we want to predict the sentiment of: "Very nice" -> [1,1,1,1], [2,2,2,2] -> 2 words, 2 word vectors with 4 embedding features (contexts). The correct way is to take the average over these vectors so the lower dimensional output is [1.5, 1.5, 1.5, 1.5], that we then pass to the dense layer. And the incorrect way is to output a 2 dimensional vector averaging the 2 vectors individually -> output: [1, 2]? Just averaging every word vector individually and passing every single one in a new vector doesn't make sense to me and would just throw away the context.

  • @uelude
    @uelude Před 4 lety

    Nicely done. Would be great to see new door handles.

  • @tobateksingh4933
    @tobateksingh4933 Před 4 lety

    Great video for coding

  • @starship9874
    @starship9874 Před 4 lety +1

    for the length of the reviews i used
    for i in range(len(test_data)):
    sum = sum+len(test_data[i])
    print(sum/len(test_data))
    to simply calculate the average length, the average review is 230 words long i think thats a good limit

    • @RecursiveTriforce
      @RecursiveTriforce Před 4 lety +1

      Shorter and more pythonic:
      s = sum(len(i) for i in test_data)
      print(s/len(test_data))

    • @RecursiveTriforce
      @RecursiveTriforce Před 4 lety +1

      Whenever you write something like...
      for index in range(len(something)):
      print(something[i])
      ...just use...
      for element in something:
      print(element)

  • @dreamofmirrors2
    @dreamofmirrors2 Před 4 lety

    You can avoid downgrading numpy by changing you pickle value to True in the IMDB file located in your keras packages.
    line 85 in the file change to this with np.load(path, allow_pickle=True) as f:

  • @kaisontoro9665
    @kaisontoro9665 Před 4 lety

    hey if i wanted to have the model predict new pictures of clothes, (like say i took a picture of a shirt off google or something) how would i go about doing that

  • @openaidalle
    @openaidalle Před 4 lety

    Very clear explanation and engaging.. Also people do not like 'daataa' it's data

  • @kiranmacherla1815
    @kiranmacherla1815 Před 4 lety

    Hi, when I try to run the imshow() stuff you are teaching at around 39 mins, I am facing this error:
    name '_warn_for_nonsequence' is not defined
    can you please tell me what to do for its rectification?
    Thank You

  • @AndrewTateTopG1
    @AndrewTateTopG1 Před 4 lety +14

    2:07 maybe chatbot? Yes bro pls.. My pathetic try to make it +1 for NN chatbot

  • @sarves_boreddy
    @sarves_boreddy Před 4 lety

    Best tutorial on neural networks

  • @fg_arnold
    @fg_arnold Před 4 lety

    Fwiw: Sigmoid is not one specific function, but a class of functions that plot roughly as a flattened S. Not all map to a range of (-1,1). The most commonly used sigmoid is the 'logistic function' which maps to (0,1) - good for feeding into probability distributions. The activation function used in this video could be a hyperbolic tangent, an error function, etc. A visit to the Sigmoid function page on Wikipedia might be helpful.

  • @jonasstrabel
    @jonasstrabel Před 3 lety

    For everyone who as problems installing the pip package, its only for python versions up to 3.8. If you are running python 3.9 or higher install the alpha version of the pip package

  • @bryancc2012
    @bryancc2012 Před 4 lety

    is it possible to build an autoencoder on a RNN/attention with an embedding layer?

  • @joansoleroig518
    @joansoleroig518 Před 4 lety

    I have a question, when I open python 3 it does not say i am in c:/user and so on... and therefore i can not move through folders or anything. What should I do?

  • @matthewli0826
    @matthewli0826 Před 4 lety

    Thank you very much your video is so helpful

  • @hiltyMG
    @hiltyMG Před 4 lety +18

    Full Machine Learning For Finance - Quantitative Trading for Beginners (2019) PLEASE!!!

    • @AlexCell33
      @AlexCell33 Před 4 lety +1

      You don’t need machine learning, just basic regression and statistical models. Oh yeah, and tens of thousands of dollars a month in obscure and alpha generating data feeds. Or co locate a server at a stock exchange and front run the guys running the models.

    • @justicegugu9775
      @justicegugu9775 Před 4 lety

      @@AlexCell33 What are the steps to learn machine learning for finance?

  • @smitbarve7209
    @smitbarve7209 Před 4 lety

    For those facing problems installing TensorFlow and other libraries I recommend using Google Colab as it already has all the required libraries per-installed.👍

  • @SuperDonElio
    @SuperDonElio Před 4 lety +1

    Flattening the input leads to a loss in information in the sense that geometrical dependencies are not retrievable. Usally this is solved by a convolutional layer (which is commonly used in image recognition). There is nothing wrong with choosing a simpler example in a tutorial but imo you should not give the impression that this is normal.
    In addition lists and arrays are not interchangeable since they are different data structures.