字幕列表 影片播放 列印英文字幕 [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]
A2 初級 使用神經網絡和ML迴歸模型進行分類(#AskTensorFlow) (Classification using neural networks & ML regression models (#AskTensorFlow)) 2 0 林宜悉 發佈於 2021 年 01 月 14 日 更多分享 分享 收藏 回報 影片單字