2021 Google 开发者大会丨构建高效机器学习生态

2021 Google 开发者大会丨构建高效机器学习生态

Google 致力于构建先进的机器学习生态,

带来高效开发体验,

并助力开发者将机器学习应用到多个领域。

从科学研究、商业变革到公益事业,

解决现实生活中的各种问题。

准备好了吗?

一起来了解 2021 Google 开发者大会上

TensorFlow 的最新工具和进展吧!

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

今年 TensorFlow 为开发者带来了一大惊喜 —— TensorFlow 决策森林 (TensorFlow Decision Forests, TF-DF) 。TF-DF 模型可实现高效的分类、回归和任务排序,当开发者需要处理表格数据,获得简易性、可解读性和速度,TF-DF 将是不二之选。TF-DF 提供了大量工具、模型供开发者使用,作为 TensorFlow 丰富生态系统中的一员,它可与各种 TensorFlow 工具、库以及 TFX 等平台集成,让开发者轻松组合使用。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

TensorFlow.js 是一个由 JS 语言编写的前端机器学习库。由于前端机器学习可实现低延迟的运行速度,保护用户隐私,让部署和维护成本更低,因此 TensorFlow.js 也成为不少开发者的首选,今年周下载量达到了之前的 3 倍,总下载量更是达到了 320 万次。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

TensorFlow.js 具有灵活的跨平台特性,开发者可以在浏览器或任何支持 JavaScript 的环境中随时运行模型,充分发挥 Web 覆盖广、规模大的优势。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

TensorFlow.js 拥有丰富的模型库和 API ,便于开发者快速构建应用。今年推出了新的 pose-detection API,可实现单人检测和多人检测;发布了 2 个 MediaPipe 的 BlazePose 模型,可用于 2D 和 3D 场景。在自然语言处理方面,也推出了基于 BERT 的对话意图检测模型和问答模型。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

值得一提的是,TensorFlow.js 已经支持 TFLite 模型,执行速度更快,模型更小,性能更佳。性能测试工具也增加了 custom model 的选项,能即时测试并显示模型的执行速度等很多相关指标。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

58.com 二手车团队、InSpace、IncludeHealth、Project Shuwa 等应用了 TensorFlow

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

推荐系统是机器学习领域的重要应用,从推荐电影、餐厅,到推荐视频或新闻文章,推荐系统常见于日常生活。推荐系统是一个复杂的机器学习系统,分为召回、粗排、精排三个阶段,将推荐内容数量从百万级降为成为有价值的数十级推荐内容。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

可靠、强大的推荐系统能极大提高用户的活跃度,TensorFlow Recommenders 则能成为推荐系统开发者的最佳助手。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

谷歌制定了一系列原则,来指导对于负责任的 AI 的理解。AI 应该对社会有益,公平、安全、保护隐私,并对用户负责。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

谷歌推出了负责任的 AI 工具包,帮助开发者以负责任的方式开发 AI 、取得进展,构建人人受益的 AI 系统。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

TensorFlow 的发展离不开开发者社区的支持和贡献,目前 TFUG 数量已经增长至 70 多个,诞生了 170 多位 GDE 以及 12 个特殊兴趣小组 (Sigs) 。

在学习资源方面,除了网易提供的本地化在线课程,开发者还能通过 Google 开发者在线课程,以视频、文章和 Codelab 形式,掌握 TensorFlow 相关技能。

如果想进一步学习,欢迎参加 TensorFlow 开发者认证考试,获取 TensorFlow 开发者证书,一展所长。目前已有 3000 名经过认证的开发者,我们希望更多开发者加入,使社区不断壮大。

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态
www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

除了上述精彩更新,

TensorFlow 团队还带来了哪些最新进展?

马上登录官网探索吧!

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

www.zeeklog.com  - 2021 Google 开发者大会丨构建高效机器学习生态

Read more

Java——Stream流式编程

Java——Stream流式编程

Java——Stream流式编程 * * * 本文记录一下Java8新特性Stream流式编程的使用。 一、什么是Stream流式操作 Stream流式操作,就是学习java.util.stream包下的API,Stream不同于java的输入输出流,是实现对集合(Collection)的复杂操作,例如查找、替换、过滤和映射数据等,集合是一种静态的数据结构,存储在内存中,而Stream是用于计算的,通过CPU实现计算,因此可以认为Stream就是处理集合数据的各种算法流程。 二、Stream流式操作流程 Stream流式操作主要有 3 个步骤: * 创建Stream对象:通过一些数据源创建流对象 * 中间操作:对数据源的数据进行处理(过滤、排序等) * 终止操作:一旦执行终止操作, 就执行中间的链式操作,并产生结果。 三、3个步骤详细解析 1. 创建Stream对象 创建stream流对象有以下几种方式: * 通过集合创建 Stream * 通过数组创建 Stream * 通过 Stream 的 of()方法

By Ne0inhk
Java中的序列化和反序列化详解!!!

Java中的序列化和反序列化详解!!!

Java中的序列化和反序列化详解 * * Java中的序列化和反序列化是用于在对象和字节流之间进行转换的机制,可以将对象转换为字节流进行存储或传输,然后再将字节流转换回对象。下面将结合代码详细介绍Java中的序列化和反序列化。 1. 序列化 序列化是将对象转换为字节流的过程,可以通过实现 Serializable 接口来实现对象的序列化。 代码如下: import java.io.*; // 定义一个可序列化的Person类 需要实现Serializable接口 class Person implements Serializable { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String toString() { return "Person{name='" + name +

By Ne0inhk
java8 Optional 使用方法详解

java8 Optional 使用方法详解

java8 Optional 使用方法详解 * * 本文总结一下java8 Optional 使用方法详解。 一、Optional介绍 Optional类是 Java 8 中引入的一个用于解决空指针异常的类,它可以表示一个值存在或不存在。 二、Optional类的使用 1. 创建Optional类 创建Optional类有两种方式: * 使用 Optional.of() 方法创建一个包含非空值的 Optional 对象。 * 使用 Optional.empty() 方法创建一个空的 Optional 对象。 Optional<String> optionalWithValue = Optional.of("Hello"); Optional<String> optionalEmpty = Optional.empty(); 2. Optional类的常用方法 * isPresent(

By Ne0inhk
Java——函数式接口

Java——函数式接口

Java——函数式接口 * * 本文记录一下java 函数式接口。   函数式接口是Java 8中引入的一个新特性,它是只包含一个抽象方法的接口。函数式接口可以使用Lambda表达式(关于lambda表达式可以看我的另一篇博文)来实现,从而实现函数式编程的特性。在函数式接口中,也可以定义默认方法和静态方法,但只能有一个抽象方法。 下面使用代码示例说明函数是接口的使用: 1. 定义一个函数式接口 @FunctionalInterface interface MyFunction { int calculate(int a, int b); // 抽象方法 default void printMessage() { //默认方法 System.out.println("This is a default method."); } static void printStaticMessage() { //静态方法 System.out.println("This

By Ne0inhk