大约在2018年2月的一天,我拿着刚出版的本书第1版坐下来,打开它并投入其中。目前,我管理着美国国家航空航天局位于美丽的加州帕萨迪纳的喷气推进实验室的人工智能分析和创新发展部门。然而当时,我是IT部门的副首席技术官(CTO),在数据科学、信息检索和软件方面有较强的背景,但对机器学习这个热门话题只是了解皮毛。我曾经涉猎过,但从未像人们说的那样深入。我知道Manning出版社,它擅长用实用且深入的例子以通俗幽默的方式涵盖相关主题,因此我非常喜欢这本书。那时,我已经差不多一年没有读过技术书籍,更不用说坐下来尝试写代码和练习了。我决定选择这本书,而且必须运行代码,拿出笔和纸,画出矩阵,做好笔记,学习而不是只阅读。天呐,这本书太棒了。它很幽默—可能是我读过的最简单的关于机器学习的介绍—而且我真的理解了。我记得有天晚上我对妻子说:“这就是为什么所有像埃隆·马斯克这样的亿万富翁CEO都害怕人工智能。”我可以看到它各种形式的应用,如文本、声音、视觉和语音,并且它使用了一个叫TensorFlow的很棒的框架。但是有一个问题。本书的第1版有一个习惯,就是在每章的结尾扔出一个要点,大意是“好吧,你刚刚了解了人工智能或机器学习的主题X,你可以尝试为X创建一个模型,就像这个最先进的模型一样,并测试它。”我充满好奇并且愿意花时间,大约9周之后,我训练并重建了Visual Geometry Group(VGG)的Face模型,发现了一系列的改进,并重建了不再存在的数据集。我编写了代码来获取Android手机数据并推断用户的活动,如跑步或散步。我创建了一个鲁棒的情感分类器,在Kaggle的Bag of Popcorn Movie Challenge(现在已经结束)中可以进入前100名。最终,我为本书的第2版准备了足够多的代码、笔记和材料。我收集了数据,编写了Jupyter文件,修复了代码中的bug。在Nishant Shukla的第1版和这一版之间的两年时间里,TensorFlow的1.x分支已经发行了大约20个版本,并且其2.x版本也即将上线(就在我写本书的时候)。在本书中你可以得到所有的代码、示例、bug修复、数据下载、辅助软件库安装以及容器化等方面的内容。不要把它当作另外一本TensorFlow的书,我可以简单地称其为Machine Learning with TensorFlow and Friends,2nd Edition:NumPy,SciPy,Matplotlib,Jupyter,Pandas,Tika,SKLearn,TQDM,and More。你需要所有这些元素来进行数据科学和机器学习。需要说明的是,本书不仅仅介绍TensorFlow,还介绍机器学习及其实现:如何清洗数据、构建模型并训练数据,以及(更重要的)如何评估数据。我希望你和我一样喜欢机器学习并且永远保持热情。这段旅程并不容易,包括在写作的过程中遭遇了一场全球流行病,但我从未像现在这样乐观,因为我看到了人工智能和机器学习的光明和力量。希望你在读完这本书之后,也如我一样!