Placeholder Image

Subtitles section Play video

  • [MUSIC PLAYING]

  • LAURENCE MORONEY: Bring the Magnus.

  • MAGNUS HYTTSTEN: I'm not sure you want that.

  • LAURENCE MORONEY: Let's bring the Magnus.

  • MAGNUS HYTTSTEN: Hi there.

  • And welcome to "#AskTensorFlow," where we answer questions you

  • may have around everything TensorFlow.

  • I'm Magnus Hyttsten, a developer advocate on the TensorFlow

  • team.

  • LAURENCE MORONEY: And I'm Laurence Moroney,

  • also a developer advocate on the TensorFlow team.

  • MAGNUS HYTTSTEN: So let's get right to it

  • with the first question.

  • LAURENCE MORONEY: So the first question

  • comes from Aaron on Twitter.

  • And it is what's the "best starting point for learning

  • the tools of ML and AI?

  • I feel like diving right into TensorFlow

  • could be a little bit like getting into the deep end!"

  • You know, Aaron, that's a question that's

  • close to my heart and I agree with you a lot.

  • So there's so many things to learn

  • because this is such a nascent area in so many ways.

  • So my recommendation would be to look

  • at doing two different things in parallel.

  • So the first of these is to look at pretrained models that

  • are already out there.

  • And you can see how machine learning

  • models will change the overall paradigm of programming.

  • So instead of you writing a lot of code

  • to do rules for things like classification,

  • a machine learning model has inferred

  • patterns between lots of input features

  • to do the classification for you.

  • You'll then load that model, provide it

  • with a set of inputs, and it just gives you the results.

  • It's not just fun, it's actually great exposure

  • into the overall field of of ML and how it works.

  • What you can also do is then get low level

  • and start building models yourself.

  • And that's what TensorFlow is really, really good at.

  • It might be daunting when you first

  • take a look at it because there's just simply

  • so much to learn.

  • So my advice would be to start doing two different things.

  • The first of these is to look at some samples for something

  • called classification and the classification done

  • using neural networks.

  • It sounds complicated, but it's actually quite easy

  • to get started.

  • Check out the TensorFlow blog for some samples and tutorials.

  • The first of these, I think I wrote myself

  • when I started playing with TensorFlow,

  • was the equivalent of a Hello World.

  • And in this Hello World for TensorFlow,

  • I actually ended up training a neural network

  • for rain detection.

  • It wasn't very accurate.

  • It probably would have been more accurate to open the window

  • to see if it was raining, but it was a learned model.

  • I took data about pressure, and temperature, and other stuff

  • and trained a model that said when

  • it was this pressure, this temperature,

  • was it raining-- yes or no?

  • And then when I measured pressure and temperature,

  • it would tell me if it was raining.

  • It was about 75% accurate.

  • So the second thing then is to start

  • looking at some samples for something called regression.

  • And these can be used for prediction.

  • In many ways, regression tools like this

  • was the starting point for companies

  • providing AI services.

  • So for example, given a set of data like characteristics

  • about a house, ML regression models

  • have become staggeringly accurate

  • at predicting the price or value of that house.

  • Obviously, not just houses-- anything

  • like that where you have some prediction.

  • Learning regression will help you

  • getting started into understanding

  • how these things work.

  • I hope that helps.

  • That was a fascinating question.

  • Huge area of stuff to learn.

  • I know it seems overwhelming, but I

  • promise it will be worth it.

  • Shall we take a look at the next question?

  • MAGNUS HYTTSTEN: Yeah, let's do that.

  • So the next question is from Ashan on Stack Overflow.

  • And the question is, "SKLearn has a labelencoder,

  • is there anything similar in TensorFlow

  • to manage categorical input?"

  • And I'm happy to say that there actually is.

  • TensorFlow has a package called tf.feature_columns that has

  • many, many functions to describe your input,

  • including bucketizing, managing categories,

  • and in fact even to train embeddings.

  • There is also a blog post that describes

  • all of this stuff in quite a lot of detail,

  • so you should definitely check out the link here below.

  • LAURENCE MORONEY: The next one comes from Kaique da Silva

  • and it's on Twitter.

  • And Kaique was asking, "what's the best way to start

  • contributing to TensorFlow?"

  • Oh, I like that.

  • MAGNUS HYTTSTEN: Yeah.

  • LAURENCE MORONEY: We always love it when people contribute.

  • So I think there's lots of ways that you can do it.

  • So the first and most obvious, of course,

  • is to take a look at the source code.

  • It is open source after all.

  • And maybe you can find something there that you can add

  • or you can improve.

  • There's also lots of issues that we've tagged,

  • contributions welcome.

  • So check in and take a look to see if they're for you.

  • MAGNUS HYTTSTEN: That's right, but everyone cannot program

  • and create pull requests.

  • LAURENCE MORONEY: Or they're deep AI specialists.

  • MAGNUS HYTTSTEN: Exactly, using Python and C++.

  • So if you're not a deep AI scientist who

  • can improve the framework, there's

  • still a lot of options that could work for you.

  • You could, for example, write a blog post on Medium

  • and tell us all about it because we're

  • looking to add things to the official TensorFlow Medium

  • blog property all the time.

  • So we'd love to check out any contributions

  • that you would be interested in sharing.

  • LAURENCE MORONEY: And if you've done

  • something cool in TensorFlow, do let us know all about it.

  • All the time, we're looking to highlight projects.

  • We have a show called "TensorFlow Meets,"

  • where we'd love to have you on.

  • We'll talk to you about what you're doing.

  • We'll get to showcase what you're doing.

  • And then you just maybe would be able to inspire and inform

  • lots of other people to succeed themselves in TensorFlow.

  • And there's one more, right?

  • MAGNUS HYTTSTEN: Right.

  • LAURENCE MORONEY: There's one more thing that you can do.

  • And that is ask questions on here, right?

  • You never know--

  • MAGNUS HYTTSTEN: That's right.

  • LAURENCE MORONEY: You never know who

  • might be struggling with the same stuff that you are.

  • And sometimes, we're even struggling

  • with it ourselves and hearing your questions

  • is great to help us focus.

  • And the more we see your question,

  • the more we'll try to answer it.

  • So thank you so much.

  • Those are lots of great ways that you can contribute.

  • We'd love to see what you do with them.

  • MAGNUS HYTTSTEN: OK.

  • Next question-- "I keep training a DNN

  • classifier on the same data, but I

  • get different accuracy results.

  • Why?"

  • And this is from Laurence in Seattle.

  • Hey, is that you?

  • LAURENCE MORONEY: Maybe.

  • Yes, yes, OK.

  • You got me.

  • That is me.

  • This one did drive me crazy for a while,

  • but the solution to this is actually very simple.

  • It's common practice to shuffle your training and test sets.

  • But of course, if you shuffle and randomize them

  • before you split them, you'll end up with different training

  • and test sets every time, so of course, your results will vary.

  • And not only that, we learned from the engineers

  • that some TensorFlow operations are deliberately

  • not deterministic for performance reasons.

  • So even if you haven't shuffled your data sets

  • and you're always using the same data set for training,

  • you may also sometimes see some small differences

  • in your results.

  • But the main reason if you have large differences

  • is because you shuffled before you split.

  • So I'm guilty of that mea culpa.

  • MAGNUS HYTTSTEN: And that's it for this version

  • of "#AskTensorFlow."

  • Now if you have a question you would like to ask us,

  • then file it on Twitter with the hashtag #AskTensorFlow.

  • Now, we're really happy that you were here today and check out

  • the next version as well.

  • [MUSIC PLAYING]

[MUSIC PLAYING]

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it