[Music]
you
[Music]
and ten nine eight seven six five four
three two one
and you're live oh wait no it's me I'm
not your life no I live I have you you
were me
we are we I don't know whatever okay
hello good afternoon
happy 2020 2020 which does not in any
way whatsoever remotely describe my
vision which is about 28,000 I cannot
see anything
this is really how I should live stream
without my glasses I cannot see a thing
at all I am taking swimming lessons I do
know how to swim but I don't know why
I'm bringing this up first but I wanted
to exercise more I do exercise quite a
bit I ran the marathon last year but I
would like to develop some more full
body fitness and I thought swimming
might be a good thing for me to try both
of my kids are very good swimmers and I
notice they could swim much better than
I can so I went to sign them up for swim
lessons I signed myself up for swim
lessons they are Stage four and six I am
in level three why was I talking about
this oh because I had to take my glasses
off and I can't see anybody in the class
I can't see the teacher put
on goggles it's very awkward and I
actually like I discovered I the teacher
thought I was left-handed which I am
right-handed because I was breathing in
the wrong direction so much to talk
about with the swimming lessons but that
is not really what I'm here to talk
about today I am here on the coding
train in 2020 in 2020 to do a lot of new
tutorials and coding challenges and fun
stuff and hopefully upgrade the systems
and various things with which I engage
with the community here just quick shout
out to Cody garden with CJ who was in
the chat
I was watching CJ stream this morning
and in he has some really incredible
systems that he's built to interact with
the community and manage content which
is really inspiring and wonderful I
encourage you to check that out if you
haven't somebody post
cj's I'll link to see his channel in the
chat if you could and I owe the reason
why I'm also mentioning this is because
one of the big things on my list of
topics today is talk about the new
coding train Oh discord and a lot of
what I'm doing with the discord has been
modeled from coding Gardens discord
which is a quite vibrant growing if you
will
community so I wanted to show the
discord and talk about the discord in a
moment but I have one other random non
sequitur arrived to other well once not
a random non sequitur because it is the
sponsor of today's livestream whoops
wrong button
come back here - lame
so I will talk a little bit more about
dashlane during the intermission of the
livestream but you can check out -
laying at - late calm slash coding train
it is a password manager I can't live in
this world without a password manager
and if you don't have one you can get a
30-day free trial - - lien premium just
by going to that link and also a
discount if you choose to purchase
premium ok
so the other thing that I wanted to
mention and bring up is
I was I felt like I was gonna try to
like spontaneously segue into this
organically which is what I did with the
swimming thing which I did not intend to
talk about but I just wanted to mention
something new that I'm also doing in
2020 let's see if I can go to money
pause rescue as I am fostering a dog and
I hope to foster more dogs currently
let's see adopt with uh this is not a
sponsor there's no like official
relationship here between oh you can't
see my laptop here we go
how's biz willing says I could go it BTB
suggests I can get prescription swimming
goggles I know is it worth it I mean
maybe I should I don't know how
expensive that is but I will consider
that I loved seeing all the coating
garden emojis in the in the chat I wish
there's a way like in discord I've
enjoying how you can kind of share some
of the emojis across different servers
but okay I'm off I'm off track I'm well
I'm already I'm off track I'm up the off
track I'm always off track that's what
the coding drain does it veers off track
and now I am off the off track which is
if I get off off the off off track we're
really we know where everything is lost
we're in big trouble there so this so I
wanted to just mention I don't know if
you're in the New York City area if
you're thinking about adopting a dog or
fostering a dog the dog that I'm
fostering right now is Rover there is uh
you can really recognize Rover from the
Kota Gede the Cabana set it's not really
a set actually old very small garden
where I live in Brooklyn
that's Rover he is nine months old we
think man that's what a muddy paws has
aged put his age at um he was found tied
to a tree and rescued by muddy paws in
Kentucky and brought to New York we're
gonna grandpa and so and he's currently
living at ma with me and my family but
on Saturday I don't know if like news
here or calendar probably under calendar
if you want to meet Rover you can go to
their adoption event
which is this one no this one adoption
event pre-scheduled these are I guess
he's at the pre scheduled meetings and a
walk up another dog there okay I just
wanted to mention that I've five
hopefully I'm going to continue to
foster more dogs I don't know if I'm
ready for the full commitment of I have
two cats as you know you can follow them
on Instagram at mango and goose become
just that I have a platform now it's
grown over the years it's kind of
exciting and fun and I can like promote
my random weird stuff just and people
will watch it listen I don't know it's a
little bit weird but that's or MIDI but
I will get to the coding stuff and all
the things that you're actually here for
[Music]
Jordan says I missed the train
chugga-chugga chugga-chugga choo-choo by
the way I'm wearing a new shirt it's
pineapple shirt I'm wearing a sweater
because it's winter but it's already the
temperature just keeps going up and up
in this room as I stream so I'm sure
this sweater will come up the mouth
eventually Cassandra says thanks for
fostering a dog thank you for writing
thank you for fostering a dog and there
we go oh yeah I woke up I wake up now at
this morning I woke up at 5:45 a.m. and
took a rover on a walk at 6:00 a.m.
which I would know you know I wake up
early anyway because I got kids I got to
go to school I got stuff to do but
there's something about it's dark out
it's New York City there's nobody there
it's very empty on the street I have to
say I feel so like kind of corny but
alive and awake by taking this he's a
very large dog which it's a little bit
tricky to handle I don't have a lot of
experience the muddy paws has been very
kind to give us tips and we're sort of
trying to train him and you know you've
had all sorts of issues to start because
he had been living outside you know like
what it means to go on a walk but anyway
I could talk about this forever I'm good
I'm gonna stop now as chirag says let's
start coding I would just say it's not
so likely that I'm gonna start coding
anytime in the next few minutes but I
will get to it hopefully by 2 o'clock
I'll be here for a couple hours too
all right so what were some of the other
things alright let's get to the big news
big news I am revamping and relaunching
a lot of things related to the kind of
community interaction membership
supporter stuff so I kind of wanna
because I'm gonna talk about both of
those things together let me just pull
up the discord because that's really
where it's all happening so this is the
coding train a discord server I am a
complete and total discord newb as the
boobers would say oh wait this is
buzzing I must catch this Pokemon for a
second gonna catch it catch it
I wonder what it is hey I'm just gonna
be doing this because the camera doesn't
shut off as much and I'll have a button
to press I got it I need a button to
press every 30 minutes this might be a
little bit more often than every 30
minutes I think I'm gonna have to put
that away a problem I have a problem I
know it's 20/20 and I am holding a poké
ball plus catching a Pokemon a Pokemon
go to other - my thumb and I am a 46
year old human being on this planet
doing that okay gotta catch them all um
I do need to go to the barber shop
that's not what Lucas said he said nice
beard but I died I'm just I don't like
doing it money okay discord so I'm
totally new to discord previously there
was there were two things that existed
previously there was an unofficial
discord which is what you're actually
seeing here which was set up and
maintained by nola one two two two two
some number of tubes by their username I
also ran a slack channel which was a
private slack channel for YouTube
members and patrons and sometimes I
would invite various other people there
if they were contributors or
collaborators in some particular way to
the coding terrain or related things
I don't the we so in 2020 we have I have
decided we along with a lot of people's
help to consolidate these two things so
there is no longer a slack channel for
the coding drain it still exists and
somebody could post there and I probably
get a notification somewhere but I am
deprecating that in lieu of this discord
so this was a existing discord a lot of
you may be watching are already members
were members we've redesigned it a bit a
lot of help from side the coding trained
community manager who is a pictured in
the top right up there under the
conductor role as well as various
discord experts and moderators notably
Coby L and Noah and then a lot of other
people who are there under station
manager which is the moderator because
I'm trying by the way I spend way too
much time on a Wikipedia page called
like list of railway occupations trying
to figure out how to name things I
really should have gone with the garden
thing and so it you know you got plants
and buds and see all that it's great
this train stuff it's very confusing I
mean I had the rainbow the rainbow was a
good start I could have gone with colors
so many options there so this is now
publicly joinable please there's a link
in this video's description already
underneath a couple things maybe but if
one of you who is a moderator could post
the link to the invite in the chat right
now you can join and so I you know
there's a lot of stuff to figure out in
terms of how this is going to work what
I would ask of you and this is an
ongoing working document I would say is
please read the when you join read the
Welcome channel so the Welcome Channel
and thank you I'm like constantly
referencing codon garden today but thank
you to CJ and the coding garden who has
a wonderful welcome channel of which we
took some inspiration from to design
this so this has a little bit of guide
to what the different channels are I
think the thing to highlight here is
that if you're looking for coding help
this is now a place in addition to lots
of other places previously if anybody
ever emailed me or tweeted
usually say go to the processing
discourse which is a forum online and if
you have p5 are processing questions
that's really your best bet so I still
would say go to the processing discourse
for general questions and discussion
it's a kind of official place to get
help but I also now have these discord
channels and there are some things here
that come up on this channel hi-5 really
probably shouldn't be related to get
related to machine learning related to
no js' that you could also ask here so
try to use these categories try to you
know there's a nice community of people
answering questions there I don't know
I've been very active in it like today
and yesterday because I'm on break now
for men why that goes back in the
session I'll probably disappear for the
large part but we'll be checking in and
participating there is also you can't
see it but there it let's see what else
should I highlight Oh
if you've ever wanted to get a
notification for me when I'm thinking
about what I might live stream I will do
hope to get a regular schedule going I
think I might switch to Thursdays this
semester once I get the sort of rhythm
of things going but oh and in fee is
asking will there be a channel for
normal web JavaScript rather than p5
sure we could add one for I I don't want
to like have too many but if if there is
a lot of JavaScript questions that don't
relate to p5 or node I think that could
make sense so I'm game for that I could
see somebody won't ask about he's
thinking a weight or something so yes
Python could change to other but I think
yeah my alright let's not talk about
that too much so that's that what else
oh so uh so in this channel schedule
what I'm going to now do is there is a
roll if you're not familiar with discord
hello I mean either welcome thank you
for learning about this with me
but there's a thing called a roll so you
can self a son we haven't set this up
yet but you'll be able to self assign
yourself the roll at notifications
and then you can then receive a
notification from me within discord
earlier than when a YouTube event will
be created so my process is as follows
my livestream this Friday hmm what time
I'm not really sure it might be Thursday
that's just me and my own agony at home
or in the middle of the night aren't
walking this foster dog then eventually
I catch oh no no I'm really gonna do it
on Friday and then I will come in here
and post a notification like hey I'm
gonna live sure one Friday not sure the
time yet and then I'll decide have the
time like oh it's gonna be at 1:00 p.m.
Eastern Time
probably and then oh no actually it's
really gonna be 1:30 and then I'll post
that and also make a public event so the
public event usually appears on YouTube
but I'm really solidified into the time
because I hate to change that sometimes
I go a little wiggle room there I'll
make it 15 minutes later 15 minutes
earlier but I thought process baby
and then it's not gonna spam you but
yeah so if you want to like be clued in
a bit more on when I'm live-streaming
there and I'll also use that for other
things like I'm launching a new
merchandise store which I could show you
some images and things of stuff I've
mentioned it before I don't man I don't
want to like go to off the rails the
great thing about the train metaphor is
the off the rails and off track stuff
which is very on the nose for the coding
train and I also really am excited to do
some tutorials around making a discord
bot or a coding challenge and there is
an open-source train bot that NOLA set
up and there's the coding train cafe
assignment is mentioning so there's
gonna be a lot more here to happen in
the future this year 2020 is the year of
the coding train discord okay
if you have questions and concerns so
let me go back to the Welcome channel so
these are the different channels if you
choose to subscribe as a YouTube member
maybe I'll come back and talk about that
there are some additional channels like
we have a secondary live chat going here
at that I see separate from the YouTube
chat work as the YouTube chat sometimes
just has a lot of messages that I can't
follow but an important suggestion or
tidbit goes in there there are some
rewards that you can get that are listed
you know just all I'm happy to have
discussion about suggestions and either
place
I don't like this idea of a tiered
system but I don't that doesn't it's not
something that I love but you know there
is a need for sort of curation and
there's a practical reality of you know
you know how large a group can be so it
helps to have this or a subset group and
yeah and I'll take a peek and there's a
channel there where you can ask me
questions so there are different roles
here there's the conductor's the owner
and it's also psy there's the admins
which is sighs so give any questions
about the community or concerns you
could reach out to psy they speak for
the coding train and then there's lots
of other people who are volunteer
moderators and admins under dispatcher
dispatcher and station manager signal
metate maintainer is for people a part
of like the production team like Matt
Chu who does the video editing and
violet who's been helping to manage
github repos and Chloe is working on
some projects as well and then there's a
role for community members who want to
kind of take a volunteer mentor and
question-answering
a role engineer you know with the train
now go with the train metaphor not like
some techie thing maybe there's a better
maybe there maybe they should be a
wonder I don't know to get taker that
doesn't make sense so that could be you
watching right now you could be an
engineer and you don't have to be an
expert you just have to be a thoughtful
helpful person who wants to spend some
time answering questions and that so the
other thing that I that's really
important for me to highlight this is
that that has existed for quite some
time it's in a github repo which is
linked down here but this is the coding
train code of conduct I this is required
reading for participating we will take
this very seriously and this is there is
a reporting process so the reporting
process for if someone is in violation
of the code of contact there are two
email addresses info at the coding train
how much will go to sy and me this is my
coding train comm email address and size
coding train comm email address so if we
were reporting a code of conduct
violations on me which is well within
your right I guess I would suggest
sending that to sy and vice versa if
that makes sense
but all of us are required and are sort
of buying into this code of conduct okay
so and then so and then you can this I
love I love this which came from CJ
maybe other people do this as well but
you can react within emoji you can pick
your own emoji and it's just so fun to
see I didn't know I'd become a person
who loves emojis
I would ask actually I just to do a
little education here to not use the
okay hand there's no way for me to
remove that but the okay hand has
unfortunately been co-opted by some
organizations in the United States that
I usually press a symbol of hate and so
you know it's a no harm no foul I'm sure
people don't know about it there's a
really good website maybe I'll try to
find it that that explains this in more
detail that I was looking at recently
and I had the name escapes me but so oh
and thank you too random Hanser hamster
for the super chat hello okay
the self assigning ah okay Co BL tells
me the self assigning roles are working
so just so you know I am logged in right
now as a user called coding trained live
which you can see here which is not my
actual account in discord
I just don't know it well enough that I
don't want to make a mistake so this is
just a generic account that doesn't have
access to the supportive channels or the
any of the admin channels but you can
see how to join here but the thing that
I'm gonna try now then is I'm gonna go
here so maybe I need to need to make
everything a little bigger also and I
guess I can turn off like all the
people's names here on the side I'm
going to say oh I do not have permission
of course not I do not have permission
let's go - where do we do a bot spam
okay so I think if I in here I say TR
exclamation points subscribe
then now I have the notifications roll
and I will be notified that's wonderful
Oh tonight subscriber tonight get your
Pokemon I'm not really sure
oh you can actually remove reactions
with your main account right-click
reactions okay hand X button okay hip
chocolate chip asks is this person a
professor or does he do YouTube
full-time I do not do YouTube full-time
i a very lucky a privileged person to
have this full time job at New York
University where I teach I suppose I
have a professor that sounds a weird to
say to me reason I should get over that
I guess at this point and I am actually
broadcasting live from here and it's
actually if this is relate to the
membership stuff because it's this is a
very tricky line for me to walk and I
have a lot of freedom to do whatever I
kind of want to do but I really try to
be thoughtful and think about what is
appropriate it makes sense and how to
think about the revenue that this coding
train entity produces all right that
earns for me and so um so let me let me
just start by so yes I have a full-time
job coding trig YouTube could go away
disappear be deleted Cody Trent could be
canceled and I would be okay
oh I think we would all be okay the
world doesn't nice thing but anyway so
but the coding train for me I'm running
as a little bit of like a small business
or a side job it is very intertwined
with my job at NYU my work with
processing Foundation which is a
non-profit I got to put this away it's
way too distracting and and what I and
it does cost money too
for me to maintain mostly in the form of
me hiring people to help work on it with
me so that's one of the things mostly
that you are supporting is the people
that I have hired that I don't do all
this myself I started it that way but
the animations you're seeing the logo
the community management the video
editing the management of the github
repos there's a lot of volunteers who
participate and I really appreciate that
I want to encourage a volunteer spirit
but I also think it's important to pay
people for work so there's a difference
there and so that's mostly what I am
using the funds for they equip a lot of
the equipment I use is borrowed or from
NYU this is a shared space that other
people use to make video tutorials I'm
going on way too long about this I
should get off that channel oh dear okay
what channels do I get I'll just going
to minimize this now people are just you
know there's a lot of gray hair here
people talk about my age in the chat so
I feel conflicted often about the
supporters of so I would say but what is
it ah so I also have sponsors those earn
money for the channel on some videos I
do enable the YouTube ads one of the
choices that I've made is that if it's a
video that I'm using specifically for a
course that I'm teaching at NYU or that
I know is being used in school
curriculum and I know that could be
anything really but there's some that
are really integrated in curriculum then
I turn the ads off if you are a teacher
at a school where you're showing the
videos and there's ads on them and you
don't that's it that's an issue for you
just let me know I would gladly turn
them off or certain playlists or certain
videos that's so that's that's sort of
the state of things so if you want to
join in support so if you have the means
to support the Kodi drain first I would
say ask yourself is there another worthy
cause you have limited funds maybe the
processing foundation is one maybe a dog
organization that rescues dogs is
another there's lots of wonderful
organizations and maybe another content
creator
who you could support as well but if you
choose to support the coding train right
now I'm asking you to do that through
YouTube so if I go back to the discord
and if I go under how to join this would
be the link that you would go to and I
think I don't know what this is gonna
take me to now and okay I got to update
this video cuz it's not it's I made it a
while ago
so there are three different levels I am
now tier to show you what you get these
are the stickers now for that everyone
will get it in pale might take a while
but sigh thankfully is helping with this
and some new stickers this is an
exclusive sticker whatever that means
won't be sold in the merchandise store
you can only get it if I mail it to you
it's also on my laptop here along with
some CJ stickers some quick draw this is
open moji project which I love whereas I
can you see it I don't know
so those those everybody gets at the
nine dollar and 99 cent level I just
make it ten dollars it's ridiculous I
mean nobody thinks it's really less than
ten dollars you okay I have a box of
these train whistles wooden train
whistles that really don't make the
right sound unfortunately oh I might try
a different better this is the one I got
off Amazon but it already says train
whistle and I don't know that these are
produced I don't know who makes this one
toy train whistle but these they're
really two o'clock already it really is
this train whistle i am i planning with
psy and i are going to work on laser
etching then so at ITP where I work we
have laser cutters there's also a UV
printer if anybody knows what that is
that I could try UV printing on them
whatever that is there's actually this
giant vinyl cutter that I'm also playing
with where I can maybe like cut and make
my own stickers so many things coming in
the new year and then under engineers
I'm making this nice little like
notebook which I will talk about later
um what are the membership perks more
its Horst is asking I think I probably
just cover covered those three super
chats came in how do I find those where
I find those super chats
come I don't see them new stickers says
Alka indeed alright so anyway that's all
I am I was everything was going so well
I mean it wasn't going never goes well
it's getting warmer in here thank you
for tuning in and watching all right I
got to get to some coding stuff now
gotta start doing the real deal play the
livestream at 2 XP to get as low as a 14
second delay says Alka alright so what
do I want to program today I had a list
I'm gonna go find it oh let me let me
actually mention one thing about other
thing about the discord let me go to
introductions so if you're new I can see
that some people are already introducing
themselves here oh look at this and
there's a little bit of a template for
that if you have ideas for how to make
this better
where are you from I'm just curious a
lot of people are students or maybe
you're a teacher so that could say if
you're a student or a teacher or maybe
work somewhere I'm always curious about
that almost curious how you found the
coding train your favorite or first
coding language or something other
hobbies or interests you have so please
I'm trying to introduce yourself if you
have a moment in in the community all
right all right looks like a lot of new
this this by the way is a where is the
passenger log is the is the automated
bot posting people as they join which
looks like a lot of people are joining
now which is super fun and exciting I
have a like
I'm not playing oh please explain
I have a intermission whoops
why is it showing this and it realize
that the - claim benefit which is fine
all right I'm taking it's not an
intermission right now just need a
moment should have a way of putting
myself in front of this fine you can
watch all the people chewing it okay let
me find my list of things oh I think
it's in them I think it's in the video
description actually
there we go okay this is my list I'm not
gonna get to all of this I mean I'll be
lucky if I get to like here I mean I
have to do this I've committed and
agreed to that
I guess I've talked about all this stuff
[Music]
so so the first so I think I'm gonna
start with going back and revisiting the
pose classifier Coby tells me that 84
people have joined the discord since the
start of the stream which is quite a lot
of people so yeah so alright so let me
go to the website first of all thank you
to violet and some other folks who I'm
apologies are nice pull requests which
shows different people's contributions
who have helped to redo the navigation
of the coding train website which is
hopefully going to make it easier to
find the videos you're looking for so
these are the three beginner playlists
these are additional lists of like
different kinds of collections of
learning content there's a few things
under this more category and this says
how to add your own community
contribution let me mention this is not
this project is alive and kicking it is
winter I actually had time on Thursday
which is yesterday to do the next coding
in the Cabana video which will be on the
hilbert curve Rodrigo says read my
question on the Pathfinder video okay I
might need a link to that so but I was
too cold
I know heat in the Cabana and it was
like 22 degrees Fahrenheit yesterday so
I'm gonna wait till at least I think
it's got to be in the 40s okay so where
I was going here is under ml5 Jess
beginner's guide so this was my 2019
project
which was - this is my 2019 project
which was to really work on this series
and some great questions being asked in
the chat that I would like to get to now
I understand I understand all of cj's
systems down why how they're useful so
but I didn't get as far as I wanted so
I'm playing a little catch-up on this
series and so that's what I'm gonna
start with I'm gonna answer a couple
these questions it's coding the Cabana
always math-related
or is there something data related it's
not always math related I was sort of
starting trying to start with the theme
of things that are kind of algorithmic
and nature related but that could it
could really go and and - anywhere and
actually would love to do something data
related there's a wonderful data set
that is a dataset on all the trees in
New York City which I could do something
on so we can remind me put that
somewhere and yes jazz it down is asking
is there a site I can learn how to use
p5 so not to toot my own train whistle
but I would say the place is right here
under the coding train table under
beginners under p5 yes this is my
beginner playlist this is one of the
ones that's used the most in curriculum
so it doesn't have any ads on it and
that fits with my budget just fine okay
all right I'm really so confused about
all this stuff or what am i doing so the
video learning and a 5-bit so the next
video to appear on this playlist which
is currently being edited from the
recent live stream is making a pose
classifier I would love to somebody
somebody gave me a soup I don't know how
to manage superjet and then the good
question now I'm feeling all this like
stress over it but I do want to answer
that question that came in but I don't I
don't know what the question was or how
to find it I don't know what the
pathfinder video is
so please get in touch um but actually
just like disable my super chance anyway
ml5 jf because it distracts easily
distractible @c now so the next video
that's coming out is about making a pose
classifier and I and match jube is as
saying a suggestion use ml5 pose net to
make a game based on your position and
so one of the things you could have you
could do with the video that I am about
to release with the example that I'm
about to show you is make a controller
so you know if you go back to my snake
game example you could make a controller
where you control the snake based on a
pose but that video is not out yet and
one of the reasons why it's not out yet
is I mean quite a big error Oh anybody
noticed it it worked anyway without this
error but I want to cover that error and
fix the code and then record a quick
green screen correction and I have not
tried c-sharp but I do watch Sebastian
lag on YouTube who has a lot of c-sharp
unity code I believe okay triple dots in
the live chat and correct click Super
chats Thank You CJ yeah I don't some
reason that's not you know what it is
I'm not I'm on a weird page so that chat
that I'm looking at is actually in the
YouTube dashboard streaming panel and it
doesn't have that option which is silly
I should switch to a different page so I
will somehow figure that out at some
point okay so let me go here OOP let me
close this let me go open I think what
I'm looking for is so let me just show
you the deployed one to make sure this
is working let's see if this still works
so I have a separate web cam ooh
hooked up what is it seeing
what so that's is that the outlet on the
wall that's just the outlet okay okay
it's still work yeah it still works okay
so great this still works which is so
this is a project that I made in a
previous livestream from a while ago
it's being edited probably to about a 30
minute video so this is you know my
process it for a lot of content which is
that'll happen in a live stream which
maybe takes a couple hours and kind of
edit it down to the try not to take out
any of the coding parts but if I'm stuck
for 20 minutes I'll just put that part
of it at the end of the 20 minutes where
I say what the error is
so but the thing that I missed and I'm
gonna go back to open it really only
matters and I've already put it in the
correction in this data collection
example so if you recall or if you did
watch I had this kind of horrifying code
which is very painful to look at nested
callback hell where I am using set
timeout to give myself 10 seconds before
I start collecting the data and setting
the state to collecting and then I
collect a tit for 10 seconds and then 10
seconds later set the state back to
waiting and it times out okay thank you
CJ's giving me some helpful tips to
different places where I can look for
these things the super chat stuff okay
so the issue is there's another part of
the code and I'm gonna take this out
this is what the code looked like in the
got poses function whenever I guess I
made the font a little bit smaller then
go back to 32 I think 32 is where I keep
it when I'm streaming in the got poses
function anytime I receive a pose
whether what no matter what the state is
this function happens they're supposed
they're supposed there's opposed and
then I add the data I never put a
conditional in here to only collect the
data once the collect so it actually was
collecting if you can see if it was
collecting the data all of this time
collecting collecting collecting
collecting collecting collecting click
so I had a lot of so-called dirty data
it sounded weird but that's you know
it's not clean its data that's not any
good that's just noise it was in all of
them and the system was able to learn
anyway and it did fine but the whole
point of having that was to specifically
collect during a defined period of time
which I did not do did anybody notice
that didn't anybody message me about
that I don't think so I was looking and
I look at it like so many times because
I thought there's no way I missed that
and nobody said anything or that I
didn't even notice but I think that
really really really did happen so I'm
here so what I'm gonna do did I go over
here do I still have this split thing by
the way let me just see if it still
works yes so this is by the way that I'm
gonna use this today as well so that it
can be over here still do that focus I
think that's fine okay
so um I'm gonna try to do a correction
now I'm a little bit afraid ordinarily I
I do have a system going actually maybe
it's been a half an hour right I noticed
I think much' is watching not see I'm
gonna do something really quick I am
going to go to everybody just hold your
train caboose hold your horses I'm going
to Google Drive and I'm gonna upload the
first half an hour of the green screen
footage just to make sure we had an
issue where I record a backup of me just
with the green screen and the telethon
footage was unusable it was just like
had so many dropped frames and I'm a
little worried that that's happening
today
so I'm just going to go ahead and upload
that so I'm gonna just tag matcha in
discord also in case he's not like
hearing this at this moment looks like
here under vmix storage there's a is
there a it's been 30 minutes
oh I'm not recording yet well good thing
I thought of that I haven't started
recording though there's nothing to
check nevermind
so I am going to and I have to hit stop
here fan is going crazy just ignore me
everybody I am going to question is here
tells me Rodrigo
okay okay I'm gonna look we're gonna
look I can't resist
let's see Rodrigo question what's your
Rodrigo I can't find it I can't find it
is it buried at the bottom is it recent
what do I do sort by newest message just
oh there it is oh boy
okay Rodrigo so I appreciate your
question and I see it I don't think that
I can debug this live right now but nope
let me just find this question if
somebody could post this into discord we
could discuss it later so it's at
Rodrigo - see you el b.com slash rota
and I guess I didn't get this correct
Rodrigo - huh ODOT BR there we go so
something about this oh yeah there's an
error so there's an error here I've lost
all my different screens
I will we could take a look at that in
discord later but that would be the
place to post this in the help channel
maybe under p5 maybe we should have like
a specific like coding challenges help
channel so if it's specific to an
algorithm that's one of the consent
really I guess it's a p5 question but
it's really coding challenge related so
why don't we add a coding challenge go
away why don't we add a PA a coding
challenge related channel in the discord
and we can post Rodrigo's question there
okay and thank you and Naveed yo alright
what was I doing
I'm recording to disk alright we're
gonna record to disk I'm gonna start
that now I'm just going to assume it's
working and that it was a fluke before
okay
okay close this and so I guess I I
really appreciate people super chats and
I understand its it's a it's a tool to
highlight a question and I will try to
take an eye on it but it's hard for me
to do the live stream and debug code
that comes in through a request that way
so I would prefer the preferred way to
support and get your question answered
would be to do it through discord and if
you wanted to elevate it may be I guess
joining is a youtube memory of you just
did it for a month that would be a way
of doing that okay if you reload the
page it works sometimes so probably I'll
take it we'll take a look alright okay
so I'm going to assume that the green
screen thing is working and but first I
am going to just test out that if this
improves anything so let's go to what I
want to do is if state equals collecting
only add the data if the state equals
collecting so I am going to do I'm gonna
recollect all the data okay wait so what
do I do I forgot the interaction so I
think I press Y and it says oh I have to
wait though it's gonna say collecting in
a second collecting
so now I'm really only collecting this
okay now I'm going to do ym
one
it's collecting it's collecting it's
collecting it's collecting and finished
see
it's really crazy out of this camera
takes forever to focus
it's collecting all this nonsense data
with the unfocused camera
it's done that's weird out Nick never
focused see a okay and
[Music]
it's collecting it's collecting it's
collecting oh yeah I should really move
around I just got confused where I was
doing all right
yes round thing yeah I I did a terrible
job let's just do this again
I just I'm trying to take up too much
time doing this but alright let's do
yeah I so I'm not doing the C backwards
it's mirrored the video is mirrored I'm
doing it the correct way
why come on focus there we go
it's collecting the data
collecting the data not collecting okay
why and come on focus focus I think if I
just stand like this it focuses faster
all right no it doesn't why is it this
particulate webcam there we go
mm mm should move around saying okay see
I'm doing it the correct way wait let me
see if I get it to focus
collecting and collecting and then the
last one I don't know let's tie don't
know how to turn off auto focus on this
webcam somebody wants to tell them
figure that out some logitech webcam
collecting collecting collecting
collecting not collecting okay okay so
now if I hit s
this now saved all the data and then I'm
going to go to my next example whoops
which was model training so this should
and then I just want to upload the data
new data JSON let's upload that let's
change it to new data and this should
train the model this is all the stuff I
did before
okay so Clippy wants to know the model
of the camera it is a logitech carl
zeiss tests are HD 1080p does that help
This Is It this is what it looks like
I don't know the model of it okay so now
it's train the model and it saved it so
I'm gonna go to now I'm going to go to
yeah I don't need to save this one I'm
gonna go to deploy and I'm going to
create a folder model too and I'm gonna
leave this old model I'm going to rename
these
and let's add files here okay
and now we're gonna try running this by
loading model two and let's see if this
works the same way or better or the same
or different Owen
luckily for me I moved the camera good
work good work Schiffman okay and why
hey yeah it's much more stable I mean
the M in the a is a real problem because
this is like all I'm doing differently
but why so much better than it was when
I made the video oh my god oh I really
really really really needed that fix oh
my goodness Wow Wow
well ah it's fine
the video will be fine anyway people
will be surprised when their version
performs better so now I need to record
something that's just going to get
spliced in so let me go back to s I can
hit save here let me go back to the data
collection one
and let me go to here okay
all right round things I would suggest
you make a this is jet so yes so like a
round thing thank you for the
suggestions those are good ones so in
theory my I don't know if this is true
but I'm hoping that the full playlist of
all the videos will give people the
basics leading up to being able to do
this project so there's a lot of
dependency in this project but we'll see
and this is basically all my own version
of the teachable machine project with ml
5 and I talked about that in the video
when it gets released so thank you we
Roderigo for pointing out porting out
that when you when you refresh it
sometimes works ok alright so now what I
want to do is have faith that the green
screen is working otherwise what I could
do is I could go to here I can record
myself like this I'd feel like just I'm
just like afraid it's fine I'll redo it
if it doesn't work it has to work this
stuff has to work
okay
all right here we go so in case you've
just - did what I'm doing right now is I
am recording I mean this is live
streaming but the thing that I'm about
to say and do is going to be spliced
into a video tutorial about making a
pose classifier that will come out
hopefully early next week okay
it's time I think it's better for me to
wear the pineapple shirt for the edited
videos and it's so warm in here that I
thought a short sleeve shirt would be a
good thing up up
pokeball disconnected okay this is my
new shirt that I got over which were
pretty very proud of it
there's no green in it is there okay hi
how do I enter a video sorry for a
second I'm coming to you from almost
week several weeks a month later a
really long time look how much my beard
has grown to issue a correction I have
made a very significant error in this
video that you're watching and I don't
correct it anytime throughout the course
of this video and the air is that I
forgot to actually include an if
statement here in the got poses event
when I receive a pose I should only
actually call add data when the state is
collecting I was just doing it anyway
sure I set the state to collecting and
waiting and then to collecting and
waiting but it didn't actually included
conditional so I had a lot of messy
extra noise in the data so I just redid
it now and this the time that I'm
talking to you right now and collected
the data again retrain the model and
performed so much better than it
actually does in the video and the code
that's released has that small
correction in it amazingly it kind of
worked
anyway as you'll see as you continue
watching but just note that correction
when you go look at the code it was it's
an important detail thanks then enjoy
the rest of this video
how's that oh it does perfect wah-wah oh
is this if I rehearse that for days
right
wait all right we're just gonna hope
actually machiya what I'm gonna do is
who's maybe not watching I'm just gonna
see like where I am in the it the the
all the archived footage records it
makes a new file every 30 minutes I'm
just curious where we are in that 30
minute so it made a new file at 2:19 at
some point I can upload someone reminds
me and a little bit later I'll upload I
will upload the that video just to check
it or I can just check it myself
I don't need to upload it I can look at
it myself let me look at it myself good
talk amongst yourself for a minute
I'm gonna go check this video see how
the frame rate looks it's not playable
Oh cuz it's it's still recording it oh
so let me stop it is that bad stop it
only has eight dropped frames it's gotta
be fine right I'm gonna I'm gonna I'm
too nervous I'm gonna check it yeah
looks fine I mean I look ridiculous
wearing this pineapple shirt with my
overgrown beard
[Music]
I think it's fine okay oh right
I'm gonna send it back Multi quarter on
I am recording again okay all right so
now it's an hour I'm gonna take a short
break
and then I'm gonna do my first coding
project and let me tell you what that's
going to be so what you just saw me
issue a correction for I'm gonna make a
follow-up and what I'm gonna do is I'm
gonna make a pose classifier except it's
not gonna be a classifier I'm going to
have the output of the machine learning
system be regression so I'm going to
control what is what amounts to a slider
with my body and I'll talk about that is
and I think a thanks to the inspiration
from darshan who is a viewer that's why
I have a lot of white hair thanks to its
Frazier of darshan who is a viewer I am
going to have color be the output which
I think will be interesting I am going
to also turn this Do Not Disturb on my
watch on okay all right so I
and very briefly I'm going to thank my
friends over at dashlane who are out of
practice who are the generous sponsor of
today's coding train live so that's the
URL you want to go to - link comm slash
coding train let me show you why I like
I love deftly so what I'm gonna do I'm
gonna go back to our discord and when I
open up the discord and I'm gonna just
throw caution to the wind
No is this where I do it logout where do
I log out I'm gonna go up here I leave
no not leave logout there it is you
can't see I'm gonna click logout and
then I'm going to come back to my
computer here oh I like to log into the
code e-trade discord and see what's
happening today I know my email that I
signed up its info at the coding train
calm my password I cannot possibly
remember it because I am a person who
uses different randomize passwords on
everything because I don't want if one
of my passwords gets compromised for it
to go across everything I don't want to
use like dictionary words I want good
solid secure random passwords for
everything how could I ever possibly
manage that a password manager and there
are lots of password managers that you
could choose from out in the world whoa
what just happened what just happened
discord liked it and I take too long it
just went to like a home page it log me
and who is this what just happened
am i hacked I'm in French what is going
on I was talking about - and something
crazy just happened
Wow all right I'm gonna have to figure
that out later because and
I'm gonna put in my but I go back to my
spontaneous ad and I'm gonna open up -
Lane let me just let me start from the
beginning here I'm gonna go to - Lane
and now this isn't my actual - Lane
account because I don't want all my
stuff to show up here
somebody scan the QR code oh wow
that is wild wild that is really quite
amazing cover the QR code is it still
it's still visible all right
well somebody could get it can i refresh
this page yeah
so hopefully generated a new QR code now
we see so actually there's no way for
something that's really fascinating
that's that's kind of amazing the people
are crazy so I have my discord here and
there's my email I'm going to copy it
and I have my password which I'm going
to copy and I'm gonna enter in my master
password which I can never seem to
remember I'm gonna copy you only need
one password that master password which
is securely encrypted not available for
anyone else and then I'm gonna put that
in and I'm going to connect and then now
I also and this is not necessarily a
feature of dashlane although it will
help you with this I have to find my
phone because I have to factor you
should always use two-factor if it's
available so I'm going to get a I'm
gonna go to my Authenticator app and get
my two-factor code which I don't think
matters it's gonna expire and just a
buck a couple say that a couple seconds
so that shouldn't matter and I am logged
in now I did have to go to the - Lane
app and copy and paste these but if I
were logged in - if I were logged into
if I were in the browser sorry there I
have a Chrome extension a browser
extension for - laning it will
automatically fill it in so for example
if I were to just log out here like log
out of here and then click login it's
actually being filled in automatically
from - Lane and there you go so so this
is how prepared I am so you know there
are just click this here there are
existing systems like keychain and
chrome but you're kind of locked into a
single system your passwords and info
are trapped in one place so there's
there's no credit card required it's
signup - link never has access to your
personal data
it's an ad-free product it won't can't
see your data and it works across every
device there's apps for mobile the
desktop and so if you want to give it a
try go to - Lang comm slash coding train
you will get a free 30-day trial of -
Lane premium so you can see all the
premium features and try them out for 30
days and then if you did want to
purchase it you'll get a 10% its
discount by using the coupon code ik
train as well so thank you so much the
support of sponsors like - Lane as well
as youth of the supporters align make
everything that I'm doing here possible
okay so I'm gonna take a short break and
I have a new break in term it animation
for you
and I'll be back I'm just gonna get a
glass of water you could sign up for
dash line now because you have a few
minutes and I'm going to come back and
do that tutorial where where am I
looking just to double-check the chat
and everything
okay let me get back to the YouTube chat
here we go
[Music]
okay I'm gonna mute my mic for a second
I'll be back in just a few minutes
[Music]
yes if some folks are asking about if
they've come late what's what's happened
so far should they go back I would
suggest don't go back I've really done
nothing so far
can't believe we're at the intermission
already I don't know that I'm really
Rick ready to go just yet but I want to
watch this whiteboard because I'm going
to use it to do some diagramming
[Music]
which I'll guess I'll let you watch the
camera looks like it's askew yes you
would think with all this sophisticated
expensive equipment I'd have a camera
that doesn't just like get knocked
around
fortunately for everybody here I do have
a a level I'm gonna put the level over
here for a second
which way do I want to go this way right
that's better
tighten this up
[Music]
that's better right
[Music]
how does this look do I look askew it
actually looks quite askew to me that's
better okay how's the focus let's see
you find a marker so fix the mic in a
better place how's that look
[Music]
pretty good right
okay everyone whoa minimize the discord
close this oh I'm not even in the right
screen we are gonna do some coding today
everybody
[Music]
all right I'm good till for at least
another hour so we're gonna get through
this example oh by the way I should
mention I should mention that I do have
this plan not sure how I feel about it
yet which is to focus on my nature of
codebook for the time period between
basically January 27th and May 14th
that's the exact NYU semester I am
teaching a course called the nature of
code which is follows the material in
the book I am working on rewriting the
book in JavaScript I could make I do
have a whole set of videos that go along
with the book whatever made many years
ago where I look younger and the quality
do quality is much poorer so that's some
what I'm thinking of doing if anybody
wants to object to that you could let me
know okay all right so
I am now going to make a coding a simple
okay I wonder if I could juggle these
not too bad
we need to relax a little bit 14,000 it
always goes to this same page because
it's very like perforated here look at
that it also like that's weird
translucent book there let's go ahead
[Music]
the other reason why I do this is it
reminds me to go to the eye doctor
because I cannot read it at this
distance with my glasses on I can read
it at this distance with my glasses on
or I can read it at this distance with
my or I could do this 90 thousand
one hundred and nine twenty two thousand
five hundred seventy eight twenty one
thousand six hundred and fifty three
seventy six thousand and eight hundred
thirty seven thousand four hundred
thirty I wonder if you went back and
looked at all the times I read the
random numbers if I just always end up
like kind of going to the same page
doing the same sequence still looking
for that original print still looking
for an original first edition print of
this book a million random digits with a
hundred thousand normal deviates I've
talked about it there's a Wikipedia page
for it you can find out the history of
this book and if you do anybody sees can
can authenticate an original first
edition print of this book on eBay or
whatever kind of selling mechanism place
that somebody would be selling one of
these and has one or library somewhere
please
internet let me know I would like to
purchase it for all the money in the
world and yes something with this book
is what I will do when I reach 1 million
subscribers what it is I'm not sure yet
a coding challenge where I create an
audiobook version of this something like
that ok
now I'm just like afraid to do anything
which is why it takes me an hour and 23
minutes before I start actually coding
fixing my hair hello and my recording to
the disc let's just make sure yes okay
oh no I don't need to do button
oh hello welcome to another beginners
guide to machine learning with ml5 jazz
video on pose estimation with pose net
I've made two videos so far just a
little warmup
the warmup a little energy juice little
ginger chamomile tea energy juice
hello and welcome to another beginner's
guide to machine learning with ml 5gs
video on pose estimation and pose net so
this is the third the last one that I'll
do in this series here about pose net
first I looked at just what pose that is
and how it works and how you can get the
key points of a human skeleton then I
took the output of the pose net model
all those key points and fed them into
another neural network to do pose
classification to recognize different
poses that I made with my body and in
this grand finale pose video I will do
exactly what I did in the previous video
with pose classification but perform a
regression so the final output instead
of being a classifier and I'm making a Y
MC or a pose I will make a regression
what do I mean by that exactly
so so to review this set up I have is as
follows
oh so close
well the cameras lower than usual
it's a wet subject it rocked me oh I've
ruined this feeding us
the system starts with an image it sends
that image into the pre-trained pose net
machine learning model that model does
po performs pose estimation and gives as
its output 17 XY pairs wrist elbow
shoulder shoulder elbow wrist etc etc
etc and then I take all of those and
feed them into another neural network at
ml5 neural network which then classifies
those key points as y MC or a so that's
the process that I've built in the first
two videos and what I want to do here is
what I want to do here is change the
final output give myself some more space
I want the final output to be continuous
you can think of that as a slot what am
I saying here
I want the final output to no longer be
categorical it's not one of four option
if the final output is any number so you
can think of it as the final output is
going to control a slider and that
slider is going to have some sort of
range so what I did previously in other
examples of regression in this full
series if you go back is I controlled I
I used a neural network to output a
frequency value to play a musical note
so I certainly could do that here right
I could train the machine learning model
to play the note ooh
this pose and ooh this pose and I could
actually have something that output like
I could go and do that and boy wouldn't
that be fun to watch but I want to do
something different that'll leave as an
exercise to you make a gesture opposed
based musical instrument I am going to
control color and this comes from a
project that I referenced inspired by a
viewer darshan who made a project that
does an output so what I would because
I'm specifically what I'd want to
demonstrate here is that the regression
output doesn't have to be a single
number in this case I want to have three
values and I'm going to think of those
values as and are for read a G for green
and a B for blue so I can say things
like with this I'm the training can be
this pose is this particular color this
pose is this particular color and then
this pose is this other particular color
I'm imagining that those colors are
going to appear and then as I move it
will interpolate between those colors by
trying to guess the value according to
the regression does that make any sense
do I need to go do that explanation
again so me I am to be found one so I
have to look at this one I've looked at
a lot online and some of them are like
ik stuff there
printing which i guess is technically
okay or it's like got missing pages
which maybe is okay i whose want to find
one that's in his best condition and
that's the first printing I would take
the third original print though I'm
trying to say if I want to like kind of
do that explanation over because I was
kind of confused what I was talking
about but I'll wait for a minute and
think about it alright I Clippy wrote
note so one thing I should always say is
when you write something like yes or no
in the chat I have no idea what you're
referring to because you're so here like
a minute behind me and so I don't
remember whether I asked the question
was was that totally confusing or if I
asked was that totally clear so your
gestured hope it's nothing that was a
cool explanation all right you guys are
all just your people you are you're like
me I'm like a people pleaser I'll say
that's great that's great no maybe you
mean it you probably maybe you mean it I
don't know why I should just assume that
everyone's job okay I'm gonna go on
alka is trolling me now in the most
wonderful way right
I'm gonna move forward I always want to
redo things there's really no reason to
I mean there is sometimes a reason to
but I'm gonna go for it right duplicate
this data collection for regression
first thing I'm gonna do is I'm gonna to
get started I'm building off of the code
that I wrote for the data collection
piece of the classifier and that's what
I've got right here and the first thing
that I want to do is just change the
configuration of the neural network
itself the inputs are the same they're
still the inputs are the same there's
still the same number of inputs of that
neural network 34 of them but the
outputs are going to change there's now
three of them whoops ah there were four
of them before because there were four
categories now there's only three and
the task is now regression so those are
the only two changes I need to make
otherwise everything is the same sort of
oh those are the only two changes that I
need to make to the configuration of the
neural network itself there's plenty
more I need to do here so let's think
about what triggers the collecting of
data oh I got to improve this I cannot
tolerate this all right so what's a way
for me to improve this is there a way
for me to improve this without using a
sink and a weight I at a minimum I could
just use like I could name the functions
I could use the arrow syntax what's a
nice way for me to improve this without
using a sink and a weight because I feel
like that's going to cause a lot of
maybe use then and catch
yeah but set timeout doesn't support
promises so I'd have to wrap it in my
own thing just like a pain I seen bi m
so me as typing so that's all the reason
why I'm waiting cuz I feel like an
answer my cup and CJ why the async/await
name function no I don't I love a sink
and a weight my concern is that I
haven't used it at all in this series
and so it's a little bit like I mean I
guess I could pop it in here because I'm
not I could just like pop it in there
and like then refer to my other videos
maybe I'll do that I was also just
concerned about using Thank You Simon
that's a nice I was concerned about my
like do I need to make the key pressed
function an async function and then it's
not gonna mess up p5 let's just try it
so I need my boy if only I could find
all of my code examples really easily
let's it's gotten a lot better so let me
go to I think this would be under
tutorials p5 promises and here maybe no
cuz this is like not I'm just looking
for here we go perfect
great let me just grab this
I'm going to put it all the way at the
bottom and then delay time so then I'm
gonna say can I say async function key
crest this is also a I don't know why
why does the web editor give me this
warning cuz it totally supports it yeah
actually saying it is okay as is but
this is this I want to kind of take a
look at here so then I would say wait
delay 10000 state equals collecting
let's just make it 1,000 for a night as
well see that it's working
okay so this should do look at this oh
my goodness
hi I love you wait what is so much
better
I'm just see if this works no error let
me hit a key yeah it totally works okay
guess I'll put this up here
the states don't match the console.log
oh thank you that's supposed to be
waiting
right this is what it should be
so if you are tuning in now you have not
worked with a sink and a weight before
what I'm about to do it I'm gonna just
reference other videos that I've made
that go through it but you can see how
this is so much better okay other thing
that I just did right now is I rewrote
this key price he praised other thing
that I did just now is I rewrote this
key press function to not have those
nested callbacks and use a weight and a
sink now this might be very unfamiliar
to you it's not something that I've made
a part of these videos all the way is
something that I use very often in my
own personal coding daily practice and
so this delay function which looks like
this uses something called promises a
little bit convoluted but that's not
what I want to say convoluted keep raced
keep raced I got the stuff I've been
doing a pretty good job of not starting
over over and over again so I'm not
gonna do that here unless it got rid of
that callback hell and just rewrote this
with a delay function that supports the
a weight and async keywords this is
something that's part of JavaScript es8
that I do use quite a bit it might be
unfamiliar to you luckily for you I do
have a whole separate video then I go
through a sink and a weight and actually
write this delay function that uses
something called a promise and that
makes it so I don't have all that
nesting stuff and I can really just have
these things happen in this particular
sequence and essentially put a
ten-second delay before the state is
collecting and then I'm gonna be
collecting in another 10 second delay
before the state changes to waiting and
this still happens asynchronously it all
happens the same way this is just a
little bit of syntactic sugar make a
little sweeter for us to program so
that's not the key element here to this
video the key elements here to this
video is what happens when I start
collecting the data there's no longer a
target label there's a target color and
each color has three continuous numeric
values I need to figure out some way can
I name them how do i name them ah the
target output has three continuous
values a red value a green value and a
blue value interestingly I could assign
those as an array let me show you what
I'm thinking about now so ultimately I'm
gonna change this to target color and
I'm going to say if the key is our
set the color to red and then I will
make and so I read the chat so funny
[Laughter]
thanks for tuning in cliffy
I'm going to make I'm going to set the
target color to an array of three values
to 5500 if the key is G or B I'll send
it to I'll set it to the corresponding
three values for those colors
thinking about this
so the thing that I'm thinking about
here is that I only want to then collect
if it's a valid key press so I think
what I'll do one issue here is I only
want to collect the data if it's a valid
key press so I think what I'm gonna do
is set the target color equal to null
here and then I'll just say if target
color like so if one of these keys was
pressed I'm sure there's a less awkward
way of doing this that somebody watching
will inevitably are right about in the
comments then I can set I'll witness
I'll set the target color to know if I
press one of these three keys I'll get a
valid color I've gotten a valid color
I'll wait 10 seconds to start collecting
and then I'll collect and then I'll wait
10 more seconds to switch it back to
waiting I know switch-case use a switch
case use the switch case
thank you master stormer for telling me
that if I add this J s hint is it really
gonna work es version : 8 the start of
the file oh thank you
so solar liners bringing up a good point
and let me just address this for a
second I was asking about how would you
be pressing the keys when you're also
making the pose and which color are you
doing let me just remind you that this
this is a terrible interface in that
there is no interface and the
interaction design is not thought out at
all this is just me kind of doing a
known to myself debugging way of
pressing some keys giving myself 10
second seconds to strike a pose and then
come back so again if you are going to
make a project out of this something
you'll want to do is be really
thoughtful about how that interaction
design works okay
[Music]
so the fact that target color is already
an array means I can sorry let me just
do this again the fact that target color
is already an array means that I can
configure it as the output the target
output during the training and so target
label becomes target color here and I
don't even need this separate variable
because I don't need to wrap it into an
array I can just put target color right
here so all of these so all the inputs
for any given pose have a corresponding
output which is a color three continuous
values red green and blue if I want to
make my life easier here even though a
neural network just deals with numbers
ml five has some helpful bits of it and
I could actually use a JavaScript object
which might have some conveniences
because I could name the RG and B values
so I'm actually going to go here on your
outputs and change this to an array with
red green and blue
and then wait red-green-blue sorry
give us off more space here
pretty white and then yeah sorry and
then when I set the colors I'll make
them an object
and again one is not necessarily better
than the other I'm just showing you that
you can do both of these with ml5 and a
lot of cases it's convenient to have
names to the output so when it comes
back I'll remember what value goes with
what this should be good
so let's say split can go here
and then where am i sorry and now I
should be able to collect the data let's
give it a try let me hold on I don't
think I want to do is I want to restart
the browser I find that the I think
there's like a memory leak or something
going on somewhere so I'm gonna just
restart the browser just still like so
the webcam is as responsive as possible
no seriously
okay
not a fan of ya know old habits die hard
I should use the triple equals alright
so now I'm ready to collect the data
let's give this a try
oh it's showing like ukulele it's
showing the drawing on the wall that
doesn't matter why am I worrying about
this it's suppose net alright gotta
press R it's cuz it is it collecting the
data I don't know if it worked because I
didn't console.log anything
ten seconds happened yet oh yeah it's
collecting this will be my pose for a
red color
if they finished now I'm gonna do a
green color
this is my green color
I think it finished like going way more
than 10 seconds and now what should I
make my pose for blue hmm no I'll come
up with something when the time comes
yeah I've got ten seconds mmm
first - you two focus man come on camera
oh shoot
I never focused and I'm getting like bad
data shoot I'm really gonna do this
whole thing again silly this ridiculous
webcam
I was a little confused as to what was
going on so let me train again and let
me actually add
Oh
let's skip all that we're gonna just go
right to here so that I can see what's
going on a little bit better let me also
add in the console.log the key that was
pressed so I'll just do this and I'm
gonna try to collect the data now let's
first so I'm gonna run this Goetsch mmm
here we go there's the video I'm gonna
press R so it should be collecting for R
and 10 seconds this will be my posts
collecting for are okay
it's gonna tell me not collecting in a
second and it finished collecting so now
we're gonna do G I got 10 seconds come
on camera focused camera
ah there we go
that's gee that's good enough and now
we're gonna do B for blue Oh kiss camera
okay what am I missing what is it like
not hold on let's try to debug this a
little bit I'm gonna do this again
closer to the camera is that what I need
to do yeah
I went through this before but I haven't
installed any drivers or anything for
this camera all right hold on
3:30 geez Louise
what what kind of camera was this again
logitech camera webcam software
oh my god Oh Logitech capture didn't I
just press on products software
solutions software Logitech capture I am
going to click on you Logitech capture
and it goes nowhere because they're like
no Mac version of it or is this it the
master series is this what I'm supposed
to download I don't think so no this is
something I'm supposed to buy Wu second
link in my Google search ok no oh for
Windows womp womp womp
oh this is what I have it costs $9,000
what a very expensive camera I assume
that's not in dollars I don't know why
what what like G where G located me yes
very nice oh this is such a nice webcam
I have automatic light correction I
definitely need that compatible with USB
video device class mode you just have to
I just have to give up
okay we're gonna make this work hope you
do this again and I'm just not gonna
care so much just turn the focus ring
around focus ring around objective
there's no focus ring around there's no
nothing for me there's no switch on it
okay we're gonna give this one more try
where was I in this ridiculous thing
that I'm trying I got a collected data
again
oh is that actually well that that link
you sent me CJ will that actually have
Mac software I doubt it right it just
says Windows it says I think
Oh
hold on
can you post this in a non-member only
channel since I'm not signed on to the
non-member only channel is here like
just posted here in general or something
or
I would manually focus it if I could I
don't see how to manually focus it
oh oh it's giving me something alright
let's see what happens here everybody
this is exciting
all right yeah I'm not worried about
installing this at all where did it go
where did it go what did I just install
lodger
what did I install
oh it's a leader idyllic I allowed it to
delete it cuz I was done I don't know
what I just did tape on the phone
I agreed tape on the floor I don't even
need the tape on the floor I'm only
gonna stand in one spot new Settings
panel and the system preferences did it
had something here that I can't see I
don't think so
was it camera settings okay camera oh oh
there it is thank you
woohoo image widescreen advanced yeah
yeah all right everybody we are back in
business I ain't okay
okay okay autofocus is off I mean that's
good enough for me I could try to like
actually focus it but I think that's
fine whatever it is it's fine I mean I I
could yeah that works okay great well I
can do all sorts of other stuff too all
right we are in good shape everybody
okay haha with booth thank you everybody
today thank you I think CJ who found
that originally and I don't know why my
camera is doing such weird stuff right
now but there's it auto weight balancing
still I should probably fix that but I
don't want to get greedy let's fix that
oh no not auto white balance yeah must
be
okay this is silly
I wish
it was white balance only there's some
other auto thing okay Auto I know
there's a brightness okay ah there we go
thank you that's what I that's what I
want
I'll make sure this works ok it's still
Auto is that the white balance that what
is it the other auto thing it's making
me crazy looks like it's like Auto
what's that called name for it or I
brained
I've reached the part of the challenge
video livestream where my brain stops
working right what's that that's Auto
something else
I got greedy they got greedy everybody
advanced restore defaults turn off auto
focus store defaults gamma thank you
turn off auto focus off auto focus there
we go
don't get greedy people this works fine
this works fine the brightness is
post-processing yeah I don't know what
it's doing
all right we're fine we're good
everybody ok here we go
stop let's close discord yeah yeah yeah
don't switch ok
here we go now all right let me go back
to the whole thing where I'm gonna add
the key cuz I'm confused where I am
because actually I want to add it here
let me add one more console.log so I
know which key I press just to confirm
so I'm gonna just say console.log key no
I'm ready to collect some data run the
sketch I've got to think of poses for
colors I don't know what I'm gonna do
I'm gonna press are pressed are I pose
for are collecting I don't need 10
seconds apparently
okay not collecting all right time for
ji
okay now blue I don't know what to do
for blue hmm both hands up collecting
the data all right
I almost hit stop there now the feature
that I implemented before is I just
press s and it downloads a JSON file
with all of the data
now I can go to
you know this stuff back in
and so I guess I should come to here
now I can go to my training sketch I
could to add the training code to the
the data collection code but since I had
it separately in it now I can go to the
sketch where I implemented training the
model I could have just added that code
to sketch I was previously working with
but I'll go back and find the one that I
made with the classification example and
change the configuration
rename that JSON file I downloaded to
color poses let's take a look at that
file just to be sure it's got the right
stuff in it
that's a long
this looks good to me there's a date
there's an a data array that has pairs
of X's the inputs all of those key
points all 34 and why is the target
outputs red green and blue value so you
can see this is all of my red data and
eventually if I kept scrolling down for
a really long time
I would probably eventually find that
I'm still in the red adventure I would
find the data the training data
eventually I would fought eventually I
would find the pose data the inputs that
are tied to green color different
different color outputs
I'm gonna delete the data from the
classification uh-oh whoa whoa I've got
to duplicate this Oh yikes
ah shoot did I already mess it up I did
and now I can't undo it hold on the only
thing I changed was this right for
classification let me just I'm just
gonna start over again here take the
Auto refresh off duplicate
okay come back to this
okay
next I'm going to the sketch that I
wrote for the classification example
where I had the model training code I
could have added the model training code
to my previous sketches kind of what I
did before but I think it's easiest for
me now to go to there and then
reconfigure the the neural network
change the file that I'm loading so it's
no longer that YNC a pose data it's now
a data file that I renamed to color
poses you can see that right here that's
the file that I downloaded let's take a
look at it in Visual Studio code just to
be sure it's got the right stuff in it
yeah yeah yeah and we can see this is
what the data looks like it's the inputs
or X's that's all 34 key X Y key points
of the skeleton of the pose and this is
what the data looks like it's an array
of X's and what XY pairs so the x's are
the inputs that's all of those key
points of all the points of my skeleton
and the y's is the corresponding target
output the color values in this case the
first data is red and if I scroll all
the way down eventually I'd find some of
those other green values
so I want to up I want to upload that
file to this sketch in the web editor
I can remove the old data files I've
duplicated this sketch I didn't
overwrite the previous one and I think
this is all of that this is all the code
that I need to train it's a very it's
very little code yeah whoops
and this is all the code that I need to
train the model it just configures the
neural network loads the data file when
the data is ready it normalizes the data
it's going to do that for the outputs as
well remember I gave it color values
between 0 and 255 and it's going to
normalize those two one zero zero zero
one zero that type of thing and then
train the model here we go let's see if
what this looks like whoo this is not
good not good not good not good
okay what went wrong
Oh sad ah let's look at let's just take
a look at everything in the actual
JavaScript console
huh
how come we never got to date already
oh this is sorry did this is it here
okay let's take a look here
I just want see this data here training
data look if I go down to here do I have
some Y's that are yeah it's normalized
so this looks good hmm this looks good
fair for training I was expecting to see
something wrong with the data stream
false
yeah this is right anybody saying
anything in the chat it should be
regression it looks like discrete
outputs but they could have been I
should have made them probably to
demonstrate like weirder numbers why
he's warmed up true as metadata ready oh
boy this is gonna turn out to be all
right let's I wonder if I let's let's do
something a little bit more radical here
so I'm gonna go back to my previous
sketch
yeah I don't think I have unsafe changed
I think it's just confused I'm gonna go
back to my previous sketch where I'm
collecting the data and
I'm going to change this to whoops I'm
going to change these two arrays
and I was that naming to that naming it
really shouldn't have though and then
also just gonna train right in here if I
press the T key
I mean I just I'm just gonna use all the
defaults
let's try I must want to train right in
here and then also like I don't need
this much time like I can get there in
just three seconds and I'm just gonna
take like five seconds of data so I'm
just gonna do something much simpler and
then this should be three so there's no
names and target color is just an array
yeah let's try this just tried this way
oops
collecting for five seconds and let's
try G collecting for five seconds
stripey
collecting for five seconds let me save
this data so I save that day let me just
try training it okay that seemed to work
was that really the difference mmm so
was there an issue with the named values
or did I just have something weird in
the data that I didn't notice so let me
go back I'm gonna do it both ways here
and do the same thing I'm gonna do I
shouldn't have
so I'm just trying some stuff here it's
a debug what's going on because maybe
now if I changed the configuration to be
red green blue that should be the only
thing that changes right
these are the two ways of doing it let
me give it certain number of how do I do
the epochs again when I call train and
keep rest or just say this give it more
epochs just to give it more to train all
right I'm trying this again so now I'm
trying with the names
hey gee I also just realized something
then I think I'm using I'm not actually
using the latest ml5 but we're gonna see
about this and then be
okay
let's try training it okay so why did
the other day maybe there was something
wrong with the other data that I have
and that way that I set the epochs is
clearly not correct but did I not stop
and restart it
that was weird
we're saving the state oats
no this has the named interesting so
something went wrong before for no
reason as far as I can tell is there
something wrong with my alright so I
saved this data set whoops yeah this is
also a named data set which is whoops
which one the most recent one so let's
call this color poses to stop color
poses to its upload it
unless I miss something in this
particular
know who works just fine okay so
something was wrong with my original
data set
interesting
there were missing skeleton points a
solar liner yeah I saw you say that but
I just figured so I think there was
something bad in that first data set I'm
gonna have to collect the data again
it's four o'clock people four o'clock
people I'm gonna get this to work I'm
going to get this to work but I'm not
getting to anything else on my to-do
list today clearly anybody's still here
there's 300 people here what's wrong
with you go go outside that's cold Brian
go outside we're closed warmly well I
need another break okay we are going to
go back in time doo doo doo doo doo doo
doo
I need some water I'm out of tea
go back in time and recollect the data
huh fact save close
all right I don't know if this is
necessary gosh I hope the green screen
stuff is recording all right oh this
takes a long time to figure this stuff
out all right in the future when there's
an edited version of this node we'll
know all that's happened
I'm just about ready to collect the data
but before I do so let me just add a
little bit let me make a few so I need
to read random numbers shake off shake
it out yes the video the data could be
collected from a video absolutely asks
sorry Steve if I pronounce your name
correctly yes maybe you don't wanna go
outside any pitch-black freezing Danish
winter okay I am ready to collect the
data
let me change a couple things one let me
also console.log what key I pressed
because that's gonna be helpful for me
to see and I don't think I need ten
seconds to wait I think I could get into
my pose in three seconds so I'll save a
little time now I am going to run the
sketch and I'm gonna click something
else I want to say cuz this came up
during the the live portion of what I'm
doing right now recording this the
question was asked is this looks like
classification and in a way it could be
this looks like categorical targets like
there's either red or green or blue but
the idea is what I want to do is almost
set some poses to certain colors and
have the output interpolate between
those colors so in a way what I might
want to do interaction wise there might
be a nicer way depending on what the
target is to like you know kind of
control the target output as I'm moving
in round and striking different poses
but here I'm just doing a very basic
demonstration so you might come up with
a much more clever scenario that really
takes the full power of doing a
regression by how you design your
interface and training day and all of
that but I am just going to do something
and maybe what I'll do is I'll create
kind of a dial so we'll see like you
know I'll use my arm to sort of dial the
color back and forth let's try that so
I'm gonna run the sketch and I'm going
to press I only have three seconds I'm
gonna press art so I'm collecting our
okay now I'm gonna press G which will be
like here on the tile
I think and now be one two three
so my hope is that I can sort of show
the in-between as I move my arm like
this
and now let me save that data and also
me just let me just train it does I have
that code in here
that's sort of weird to me this looks
weird but I think it's weird
I'm gonna just keep going now I'm not
gonna
let me delete all this other stuff
so now I have this JSON file that's
named that auto named sorry now I have
that JSON file that got Auto named saved
to my downloads I'm gonna call it a
color poses let's take a look at it just
to see what's in there
again again huh
hmm
I set the outputs to three during data
collection oh really oh let me go back
and check
oh well that was a mistake it might have
worked actually do you know what I think
it doesn't care I don't think anyone
will notice that it's like it actually
doesn't care it did it anyway get it
like figured out that the three matched
with these names so I think it's fine
ironically it's fine but that was a
mistake FML five was smart enough that
have figured it out so that's fine so
when you're saying their words
I mean moving was good well let me just
all right let me just I guess let me see
what happens when I bring it into the
other sketch because even if it was like
noisy missing data oh because my arms
like here it should still learn like
it's gonna get the same stuff when I
actually deploy it training regression
hold on
weird dislike the loss function is like
crazy let me go all the way through with
this let me go all the way through with
this but and then I'll come back and
record the explanation just to see that
it's working so I want here and then I
want to duplicate this
so I'm adding the model
I have the model okay and then that's
fine this changes to regression and then
this has to change to predict I'm gonna
just leave it called classify for right
now and then um let's just console.log
the results
so this are just I mean I'm gonna ignore
the fact that the why is there a my
getting some console logs yet so let's
look at what what it's giving me to
literally just give me one red zero
unnormalized green 255 blue one point
interesting so weird
yeah unnormalized value yes
was that pose for green and why is it
only giving me one
I do sometimes read the comments Abner
I'm just like not right now
why did I only get one why did I only
get one results
Oh because I don't put this in here okay
well what did the what did that object
look like oh I don't have it anymore do
I what I do so I get an object that has
an array I can't oh I can't just then
look up the value by the label I should
just use an array the whole time that's
fine so let me just do something here I
just want to see what this is doing so
I'm going to in draw I wanted to just do
this with but I'm gonna have to just
test mm fill our no no I'm gonna change
the back yeah fill our G yeah no I'll
just do the background yeah of course oh
no there's a video there so let's do
fill RGB oh but I can do background here
and I'll just use an alpha background
RGB 100 I could just use an array I need
to go all the way back I'm not going to
so then our equals results index zero
value so I thought I could say results
dot just results dot red Oh No so yeah
why is it in an array cuz like I don't
want to do this
yeah the the fact that it's numbered is
weird to me but I will oblige okay
can I do like this
No how do you do that where you want to
set them all does that work no I guess I
can do this must be this
there we go
all right red yep looks like
classification still though kind of
so I'm not really demonstrating the
regression as I didn't
yes I'm matching how I didn't normalize
the data I don't need to nor I I did
normalize it in the in the training code
right here so it was normalized you
don't have to normalize it the second
pass so I don't like this demonstration
what's a better way to demonstrate this
because it's not learning the in-between
well I'm so tired now do I need to come
back to this another day
all right like it's amazing how just
like yeah you're getting a little bit of
like switching between I guess I would
have to give it more in between points
so I really should give it a slider yeah
I mean the way to properly do this would
actually be to make sliders for RGB and
then like mmm yeah yes still streaming I
want to go all the way back to the
training I know my training data isn't
really good it's basically I'm doing
classification and it's just like a
little noisy which isn't what I want all
right we're gonna go back to the data
collection
also I think to be honest that doesn't
matter I'll leave it as named
I think what I need is a volunteer
yeah it's kind of over fit overfitting
is an appropriate term to to apply here
I'm trying to think if there's a way to
salvage this so I could create three
sliders for RGB
I think that's what I'm gonna do all
right all right I have to go yes
exactly old channel and old Chuck so I
think I'm gonna change to adding three
sliders bear with me and then I'm just
gonna do some kind of crazy like
back-and-forth stuff I think it'll be
worth it it'll be a little goofy but
it'll work it'll work much better okay
okay I'm gonna take a short break just
to get a little water and like kind of
reset a little bit because I do want to
do this
so give bear give me a minute
and yeah only three data points only
gives you a triangle Ashley is Ashley
common everybody's comment is really
good so I should have realized this I
kind of knew this but somehow I thought
it would just work of course it didn't
story of a programmers life or my life
give me a minute let me take a short
break here I'm gonna go back to the
intermission screen and I will be back
in like five or ten minutes I'm gonna
I'm gonna actually be going way back
into this tutorial and do do it with
sliders as a bunch of you are suggesting
suggesting
[Music]
just another couple because I think
Ivan's comment that ivory evaluate when
life choices is pretty accurate
[Music]
all right sorry that was a little bit
longer than I usually take a break for I
needed some time to collect myself get I
actually made some coffee this is tea
before I had a granola bar hopefully
that helped my voice is kind of feeling
a little bit sore and I kind of need to
go within an hour but let's see I hate
to say this but I think I need to go
back even further in this tutorial
because so if I could remember what I
was doing is I some point I described
these sliders I think I'm actually just
going to go straight into making them
sliders and I'm gonna skip the naming so
I unfortunately am going to you're going
to do something ill-advised which is go
to pose net data collection and then I
really want to delete these I can just
there's nothing in these that I need I'm
gonna delete them
yeah you can't stop me I'm deleting that
go hey I need to do this again
it's just it's too much in there I don't
know what's happening in the chat by the
way you two could be the proud owner of
a whoops sticker by joining as a YouTube
member right now I will mail these to
you all right
so Mattia this is a gonna be an
interesting challenge and I'm gonna have
to remember to tell you that basically
you could ignore everything that
happened in the last like hour or two
for the final edited version of this
because I'm going to go and make them
literal sliders oh no oh no I forgot
about the async/await thing that I did
that's fine I get to redo that just give
me a sec what was that Jay s hint thing
what was that Jay is hinting someone
give me that jacent yes eight something
or other
I don't know that wasn't it all right
this is good this is all good
whoo that's gonna be worth it for the
video that I had to I had to delete it
it was a very little code that I added
it was really bore all the training
craziness and I have a better sense of
now
jas hint es version 8 yeah that's why I
agree I need to be doing I've lost all
momentum and everything so we're gonna
give this another try
there we go
what
what's this weird error bad option yes
whoo yes version J
he's a gay wait
Oh No Oh No
all right here we go oh I really thought
everybody had left like CJ but my CJ
probably left it came back okay oh oh oh
I see
hold on everyone I'm gonna get a little
bit of extra time if I do something a
little text message here
everybody please hold your horses
I need to do a little something and then
I won't have this deadline of because I
I i said i would send somebody some
information that i thought was gonna be
very complicated I'll do it when I'm
done but I can send it to them now
[Music]
speaking of our spots
I've looking up some information right
now using a my password manager dashlane
because I need to send some login
information and then I use there's a way
I can send it securely you know I just
use signal or something okay hold your
horses are held okay wait
okay all right
look everyone guess what CJ you had a
meeting in your back you missed nothing
well you didn't miss actually you missed
a lot but I'm going all the way back and
tied in fact even deleted all of the
code because it was just so I just
needed to start over
oh the humanity
I'm waiting to make sure this worked but
I guess I'm just gonna I'll check this
in a minute all right
okay all right
okay now pretend there was some period
of time where I finished explaining this
and then and then I'm gonna walk over
and start the code again I just want to
see that this message that it worked but
I don't see it yes yet that's fine now
I'm ready to start implementing this in
code so I'm not gonna write everything
again I'm gonna start from the posed
classifier and the first thing that I
need to do is adjust the configuration
of the neural network the difference is
instead of for categorical outputs ymc
RA I just need three continuous outputs
so I could actually just change this
number to three because it's it's still
a number of outputs but the task is now
regression the other thing I really need
to do is think about how am i during the
training process how am I gonna create
these target values and this is gonna be
really tricky so I don't maybe this
color scenario isn't the best one I only
miss one person here but I think just to
demonstrate this idea the best way would
be for me to make these literal sliders
so I'm gonna just the sliders and make
the target outputs based on the position
of the sliders and then when I actually
deploy the model the model will control
the sliders themselves and I'll see the
color let's I think that's gonna work
see okay great I'm off the hook I'm off
the hook so this target label is no more
I'm not gonna have a target label I'm
gonna have a continuous values but let
me create not slightly regret having
three outputs for the regression but
it's still something our slider ji
slider and B slider
so this target label is no more I don't
have a target label there's no
categorical output instead I'm gonna
have sliders so let's comment this out
and say three sliders for red green and
blue they're all going to have a range
between 0 and 255 with some default
value in this case 0
and I'll have the sliders start with red
at 255 and G and B at zero so we can see
these are the sliders that I'm now going
to control and match with a given and
match their positions with a given pose
now if you recall I had this horribly
awkward for a variety of reasons
interface as in no interface at all was
just key presses to set a label and then
it would have this like callback hell
with nested set timeouts
let me improve this for a little bit for
this round so one thing that I could do
to improve this and I haven't been using
this throughout this video series I've
been staying away from it but I'm going
to replace this with something called a
sink and a weight these are keywords
that operate in JavaScript and they're
part of es 8 which is a sort of newer
version of JavaScript that allows me to
have asynchronous events happen much
more sequentially in the code I've
covered this previously in several
videos if you haven't seen that you'll
want to go watch those or read up about
promises and async and await somewhere
else but what I'm actually gonna do is
I'm just gonna go get the code from a
very specific video where I wrote this
delay function I'm gonna bring that in
here and then I'm gonna change key press
to use async and a weight with that
delay function and now let me just do
that and then explain what happened what
I mean
oh it is so lovely look at it look at
this nice sequential code that's like
set the target label console.log it wait
10 seconds then do this then wait 10
more seconds then do this isn't this
lovely it is really worth taking some
time to read up and explore a sink in a
wait so that you can have some much more
readable code this is all still
happening asynchronously JavaScript
everything happens asynchronously this
is just sweet syntactic sugar to make
our lives a little bit more joyful today
so but and I also but ah but here's the
that's not really the content of this
video that's not that topic the topic is
I don't have a target label anymore what
I have is and actually let's just change
this to if key equals like I'm no longer
going to be collecting a particular key
press so let's just have the collection
moment happen when I do I'll sue D for
data and then I'm going to have a target
color and it's going to be an array with
the values of all the sliders our slider
and let's
let me do this
so the idea is that when I press the D
key I'm gonna pull the values from the
sliders I'm gonna set that to a target
color we're gonna wait ten seconds so I
can get in position and then start the
collecting process collect for ten
seconds and then jump out now it would
be much better interaction wise if I
could manipulate the sliders while I'm
making the pose and if I had like there
could just like open the magic door have
a volunteer come in and help me with
booth that might make more sense but I
guess I didn't think of that in advance
so that I'll do that another time
sorry you're not feeling well a solar
line I hope you feel better okay I also
think that I'm gonna be able to get into
position a little faster so let me
change this to 3000 but I haven't done
the important point the important part
this target color needs to replace the
target label when I collect the data and
that that's happening right here so
previously I had this like target label
that was like a character that I put
into an array and then passed it in ad
data I think I can get rid of this now
and just say target color so this should
be good
okay dare I say that I can collect this
data now did I miss something I don't
think I also want to collect the data
for 10 seconds okay I also think that
I'm gonna be collecting little bits of
data because I'm gonna try to like show
like straight-up here's what I'm gonna
do I'm gonna try to show a path of
alright take the values for the correct
sliders ooh oh whoops
ah Oh the chat thankfully is pointing
out that I missed adjusting these to G
and B well that would have really gotten
me later thank you so I think also I
just want to collect data for like three
seconds because I'm gonna do things like
set the color set the condom move my
arms maybe like this and then just like
set a lot of different colors with lots
of in between states that'll really show
I think the regression more clearly
let me also console.log what colors
there just so I see it
all right I'm gonna start with the
sliders in their original position and
press D one two three okay I got some
data now let me like adjust the slider a
little bit let me add some of this color
remove some this I really should fix
like where I could see what color it is
well next time add press D wait what
happened to my pose oh I have a bug pose
nap got something happened to pose now
that was weird
does that look just like a temporary
glitch
and let me start with pressing D I'll
just get into this position Oh
is there a bug in the code start with
pressing D nope and I'm gonna just make
this pose
oh why some there's a bug alright what's
the bug it's got to be
oh here's the bug ah bug bad bug
bad bad bad bug I read Eclair target
color I'm making it a global variable so
that I can use it across I mean there's
a problem ultimately a nicer way to
organize the code but I want it to be a
global variable so I set it here and
then when I'm adding it I get it here
huh that was the problem
okay now let's collect some data
collecting okay
now let me move the sliders around it
should visualize the color but what are
you gonna do I'll just add a little
green and take away a little bit of red
I don't know and oh wait it
it froze again oh no that's just where
it is less no no it's fine
and press D again and where was I
I'll go like this okay and I'm just
gonna really make this pretty arbitrary
would be good you'll get the idea I like
this pose like around here man that's
like do this
okay I don't know so you following this
along if you're gonna try to build the
same thing think about how you might
really thoughtfully make a bunch of
colors with a defined set of poses that
you mean something to you I'm doing this
somewhat arbitrarily just to see if we
can get some results now I could hit s
to save the data
and I have a nice JSON files default
name that downloaded let me change this
to color poses let's take a look at it
Visual Studio code just to make sure it
makes sense and looks like it does it's
got a bunch of X's 34 it's got some wise
width so the watts or the Y's are the
outputs and it's an RG and B value so I
could have done the thing where I named
the outputs
if I wanted to have names show up in the
data I could change this too
so ml5 of the neural network is just
dealing with numbers but ml5 will allow
you to specify oh it's a mistake here
will allow you to specify names of the
output so that when you get that back
later you can figure out which is which
but I'm just gonna remember there's
three and there's order in the order red
as the RL green as one blue is - yes
that'll be simpler right now so now I
can go to the model training stage oh
boy
I forgot to duplicate this code I'm
gonna have to revert the old other one
data collection regression where
now I can go to the training the model
stage so the truth of the matter is I
could add and keypress another option I
press Treaty it trains the model but the
way I made my classifier I did those in
three separate sketches collect data
train the model deploy the model so I'm
gonna keep going in that way and I'm
going to open up
I'm going to open up the model training
sketch from before I duplicate it and
renamed it to regression the only thing
that I need to change here is the
outputs are three the task is
classification and then I what I need a
new data file so I'm gonna delete other
data files I have and upload my new file
called color poses
load that file and then everything is
the same
I'm just running the train function and
then when it's done save the model so
there's very little that I need to
change here it's just a different
configuration load a different data file
and train them huddle I hope this works
I really hope this works no no actually
if you're watching this right now you
don't know how many times I've tried to
get this to work where did it where it
has it that's promising a little bit of
wonky stuff going on but it trained the
loss went down I think something it's
gotten some results here and it looks
like those files have downloaded
and we could see those files there in my
downloads directory which means I can go
to the last sketch the one where I load
the train bottle and deploy it
clothes not posing at deploy
thanks old channel okay
[Music]
so I opened that sketch I've duplicated
it and now I just want to delete the
model files and upload my new ones
files are uploaded adjust the
configuration of the network get rid of
this idea let me I'm gonna delete some
old code that's no longer being used and
I don't have a label anymore
this shouldn't be called classify pose
anymore let's just call it predict
predict pose or predict color call it
predict color and this should be the
brain because I'm not because I'm doing
regression I shouldn't call the classify
function I should call the predict
function this changes to predict color
and now the main work here is I need to
change what happens when I get the
results so before I was looking at a
confidence score and getting a label now
I just want the raw red green and blue
values so so and so this should change
to predict color let me just console.log
the results so let's see what the
results look like in the case of a
regression they'll be formatted
differently than when it came into the
classification it's no longer a sorted
list of labels ordered by confidence
score sorted by confidence score all
right here we go
this is like some stuff I'm not using
anymore just cleaning out like code
that's not being used okay let me also
make sure to comment out this pose label
which no longer gets drawn but we're
just gonna look at the console now so in
theory the first pose that it sees I
should get an output here that has red
green and blue values
uh-oh I don't see any values what
happened
mmm let's see if
what's that some console logging here
add no pose here let's see what happens
who
ah brain loaded is not oh oh uh there's
some for some reason that path says
model - I've been messing around with
its code and that says model - weird
that it did give me an error like it
couldn't find it is it in the oh yeah
it's ain't fail to load here I don't
know whose fault this is whether the web
editor should be showing this or ml5
didn't log it correctly but that's
definitely the problem path is model
oops
let's try this again no pose no pose no
pose no pose predicting and I'm seeing
Oh three objects are G and B let's take
a look inside okay an are G and a be at
our G and a B so I should be able to use
those values now to set the positions of
sliders oh I got to put the sliders in
and then also dry could just draw the
color I kind of want to see the sliders
move though I think that would be fun
all right so I have three sliders there
so now when I get the result I can
assign it to the slider so I can say R
equals results index zero dot value
pretty sure if I go back and look at
what was in that object oh it's gone so
with math geo we can like pull that up
pretty sure if I go back and look at was
in that object you'll see there was an
array of three objects and the red value
was in the value was in a property
called value
and then there's one and two
so there were three then I should be
able to say R then I should be then I
should be able to set the sliders
position to these values
and then also might as well add
something to draw the color so here
before when I was getting a label I drew
it as text let's draw a background
overlay on the video with a little bit
of alpha let's grab the values from the
sliders which were set
and
and set that as the background with some
alpha hit the autoformat and it loses
the scroll alright did I get this let's
run it
okay look at the colors moving the
sliders are sliding based on whatever
pose I'm making if only I could remember
what it was that I did but anything's
gonna give me a predicted value so we
can see there's different colors so this
is working it's working gosh I hope the
background recording is working if
anybody watching this I'm not saying any
messages in the chat guess you're behind
this is cool okay thank you oh my god
it's only five it's five o'clock that's
not terrible okay hold on give me a
second
sorry everybody
[Music]
TMC in the chat says color
gesticulations so I think this could be
what this is called it's called color
gesticulations I'm controlling sliders
with my body it's all very arbitrary but
hopefully you can see that if you did
this in a thoughtful way maybe color
isn't the output that you want maybe
three isn't the number of regression
outputs that you want
maybe it's music and frequencies or this
third that you must have a creative idea
but you can see that if you can as
you're moving your body match the
position of your body with some set of
numbers you could then train a model to
learn all of those relationships and
then interpolate between them as you
move your body around so I imagine that
there's a very creative exciting fun
unique way of doing this and I hope that
you will explore it so if you do please
share it with me there's a variety of
different ways to do it you can find the
page on the coding train comm for this
particular video um ask your questions
in the chat on social media all the
above we have a new discord which I'll
just happen to mention it in this
particular video coding train has a
discord you can find the link to that in
this video's description that's another
way you can join the community and share
what you've done so thank you so much
for sticking with me it isn't light I
don't know how easy this was to follow
or if this makes sense because I used so
much of the previous code in it so if
you didn't watch those previous videos
hopefully those would fill in some gaps
for you but let me know I can always
revisit this in a future video and
thanks for watching good bye alright
I'm like praying I'm gonna check I'm
praying that the archived videos don't
have like a million dropped frames in
them so I'm not gonna look at the
current one well I guess actually you
know what I don't need anything else I'm
gonna to stop if not I suppose we could
make something out of just the this
footage but it's just so much better
with all the extra stuff now so let me
see if I go to output three I think is
the one that's the green screen at least
looks fine
sorry I'm just watching some this back I
don't know what I would do if it wasn't
any good
yeah the footage look the footage looks
fine
oh thank thank God I did delete all my
code but that's usually Greg so one
thing that I know I need to do someone
who can help and remind me of this this
live stream like 7 million hours later
is ending basically I just lost the chat
so let me get them back up where's the
discord I'm like not used to oh I don't
have that ah I quit that don't oh there
it is welcome to coding with unity
welcome to passengers and we have a new
passenger aboard the coding train Oh
coding with unity eventually at some
point I will mail you these stickers
sometime in the next 15 to 20 years no
no it'll be it'll be faster I'm Kyle
like I would like to commit to getting
everybody their stickers within three
months ideally within one month like we
would do a mailing of them every month
and there's something yeah but all you
need to do is contacts I see why at the
coding train com
if you have any questions about your
member rewards okay um so what was I
saying
that's done the dis chords there I guess
I didn't get to a bunch of things on my
topic list please if you just if you
joined late join the new discord I'll
open this up it's there it's to find the
link people will well that's that I
can't talk anymore I hope this can be
made into a video that was a very hard
to do but I hope that it shows something
interesting and people can make
something with it
so I do I do send these stickers to
international as well it's not the the
International mailing is a little bit
tricky and kind of expensive but it's
it's it's it's easy to do thanks Alko
for posting the discord and that's it
for today so I will could answer a
couple questions
maybe I'll try to pull them from the
discord I'm gonna open up the general
channel where are people - people
chatting live with this
I am gotta go this is why we're kind of
a record length livestream cuz it's five
o'clock I start at 1:30 2:30 3:30 4:30
it's not that record like it's three and
a half hours three it's really long died
nobody has to pay for postage you so
first of all you can buy you'll be able
to buy these stickers so you don't have
to sign up as a member to get the
stickers I have a standard TV is helping
me set up a store and it'll be you know
there's a small I think I don't know
what it will cost it's gonna be launched
about I think January 23rd is when I was
told so you'll be it'll just order this
sticker sheet and they'll be like you
pay for postage you buy the stickers at
some point possibly like a few little
profit goes to me but I'm mostly doing
it not as a to make money but just to
make this stuff available to people so
but you can also join and I will mail
them to you the idea being that if
you've paid five dollars a month for a
year you know that's you're supporting
the channel
I've got $60 - YouTube's fee it should
be about
I think that's something it's a quarter
so $15 hey it's $15 so $45 that's that's
enough for me to mail you to print and
mail you these stickers
how do we do everybody clipboard what
that is some new channels have popped up
this is exciting
introductions Oh master stormer
so master stormer and richard guilt loom
people are just joining so I'm trying to
consolidate you can join via patreon or
YouTube you just pause I repeat myself
but there are some feature I don't
honestly like they're all they're all
have their pros and cons I don't love
being part of the Google machine
necessarily but I am this is a choice
that I'm making for today and now for
the foreseeable future
but there are some nice integrations
with YouTube itself if you joined
through the YouTube platform that if you
joined through patreon all the same
discord stuff the stuff by mail I think
I could do it's a little bit I hate to
manage two platforms but my preference
is for people to join via YouTube so I
guess I'm saying that if you join via
YouTube I promise you will get all of
the member benefits if you join a
patreon you might have to bug us for
some member benefits and there are
possibly some member benefits you can't
get access to because they're only
available through the YouTube
integration alright thanks everybody and
I oh no I did that I need to make a new
I know wait till the store comes I need
to make a new member video but I'll do
that later I got to go I gotta go I
gotta go
umm thanks everyone I hate to leave I
have this weird thing I mean I mean
literally been streaming for like over
three and a half hours but I have
trouble leaving because you're all such
wonderful nice people to be with me here
enjoying this cold day in New York in
Brooklyn and yeah and I will see you
soon yeah
bye oh I have an outro they're all the
same
gurgi asks are you on linked I'll let
this finish its I've got my 30 more
seconds
um Jorgy asks are you on LinkedIn I am
on LinkedIn do I ever look or check
Lincoln no do I have all the LinkedIn
emails go directly to trash or spam yes
so I don't use LinkedIn if someone could
convince me a reason to use it I could
I'll just mention sign up for follow the
coding train on Instagram it's the
coding train that's sort of new ish oh
okay coding with unity asks who do I
message on discord for benefits okay
great question this is worth me staying
here for a minute
so once you let me open up the discord
so once you're on discord and let me
just go to this how to join channel if
if you've synced your YouTube and
discord accounts and there's a way to do
that in your settings under integrations
I believe under user settings you can
sync them you will automatically get
access to all the channels that are here
and there's a particular channel called
rewards little gift emoji that you'll
see that you can ask questions about the
rewards there or you can message sigh
see why they are responsible for doing
the mailings of the physical rewards
that find the community management stuff
you can message see why on discord or
also send them an email at see why that
name sigh see why at the coding train
calm and you can always message me or
let me know about it - I'm but it's you
know I'm trying to give this over to psy
and have them really to have the
authority responsibility of doing that
okay
don't be misled by my pineapple shirt
coating within the cabana video coming
soon may be marching squares but I'm
gonna do the Hilbert curve first alright
goodbye everybody
thank you so much I will see you next
week on the coding
[Music]
I'm gonna do this this star this star
this star this star song never forget
the Vista but somebody composed that
song for me
as always so this is random this is
noise Perley noise that is in the core
random algorithm the actual random
algorithm itself those numbers aren't
related at all we pick like I'm picking
random numbers between zero and ten nine
two seven six one nine four eight nine
two one three I think nine eleven
currently but with pearly noise I might
pick numbers like this two three four
three four five six five four five six
seven five six seven five six seven
eight nine eight seven well this is like
Perlin noise performance part
but with curly noise I might pick
numbers like this
Perlin noise that is Hurley noise this
is Hurley noise that is Hurley noises
this is Hurley noise that is Hurley no
so this is Hurley noise that is her
pearling know her Perlin noise that is
Hurley noise this is Hurley noise that
is Hurley no this is Hurley noise but
with early noise I might pick numbers
like this
[Music]
this is like Perlin noise performance
part
[Music]
auto-tuned and the internet will fix
that
[Music]
unicorns and rainbows and cupcakes what
else is there
yes kittens thank you very much
kittens and rainbows and cupcakes notice
that look what I get
[Music]
I feel just sort of like a nice feeling
of relaxation everything's gonna be okay
today dream is not broken it does not
frozen this isn't this is a wonderful
thing okay we're gonna do I'm really
getting to something I need my sound
[Music]
generation analysis takes
[Music]
you