about云开发-活到老 学到老

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1106|回复: 9

TensorFlowNews,TensorFlow 资源,教程,代码

[复制链接]
发表于 2018-4-16 20:23:31 | 显示全部楼层 |阅读模式
本帖最后由 desehawk 于 2018-4-16 21:01 编辑


博客介绍:
TensorFlowNews,TensorFlow 资源,教程,代码



地址:
https://zhuanlan.zhihu.com/Tenso ... n&from=groupmessage


经典文章推荐:

1.史上最全的Tensorflow学习资源汇总

在之前的Tensorflow系列文章中,我们教大家学习了Tensorflow的安装、Tensorflow的语法、基本操作、CNN的一些原理和项目实战等。本篇文章将为大家总结Tensorflow纯干货学习资源,非常适合新手学习,建议大家收藏。
一 、Tensorflow教程资源:
(1)适合初学者的Tensorflow教程和代码示例:https://github.com/aymericdamien/TensorFlow-Examples。该教程不光提供了一些经典的数据集,更是从实现最简单的“Hello World”开始,到机器学习的经典算法,再到神经网络的常用模型,一步步带你从入门到精通,是初学者学习Tensorflow的最佳教程。

(2)从Tensorflow基础知识到有趣的项目应用:https://github.com/pkmital/tensorflow_tutorials。同样是适合新手的教程,从安装到项目实战,教你搭建一个属于自己的神经网络。

(3)使用Jupyter Notebook用Python语言编写的TensorFlow教程:https://github.com/sjchoi86/Tensorflow-101
本教程是基于Jupyter Notebook开发环境的Tensorflow教程,Jupyter Notebook是一款非常好用的交互式开发工具,不仅支持40多种编程语言,还可以实时运行代码、共享文档、数据可视化、支持markdown等,适用于机器学习、统计建模数据处理、特征提取等多个领域。

(4)构建您的第一款TensorFlow
Android应用程序:https://omid.al/posts/2017-02-20-Tutorial-Build-Your-First-Tensorflow-Android-App.html。本教程可帮助您从零开始将张量流模型引入到Android应用程序。

1.jpg


(5)Tensorflow代码练习:https://github.com/terryum/TensorFlow_Exercises。一个从易到难的Tensorflow代码练习手册。非常适合学习Tensorflow的小伙伴。
接下来,再给大家推荐一些Tensorflow不错的视频教程:

二、Tensorflow视频资源:
(1)TF Girls 修炼指南:https://www.youtube.com/watch?v=TrWqRMJZU8A&list=PLwY2GJhAPWRcZxxVFpNhhfivuW0kX15yG&index=2。一个Tensorflow从零开始的公开视频课程,课程偏基础、入门,但知识点讲的非常详细。

(2)炼数成金Tensorflow公开课:https://www.youtube.com/watch?v=eAtGqz8ytOI&list=PLjSwXXbVlK6IHzhLOMpwHHLjYmINRstrk。非常不错的课程,推荐给大家。

(3)当然还有台湾国立大学李宏毅教程深度学习的课程也值得推荐给大家:https://www.bilibili.com/video/av9770302/


(5)介绍了这么多课程,怎么能少了斯坦福大学Tensorflow系列的课程!!!话不多说,直接上链接:https://www.youtube.com/watch?v=g-EvyKpZjmQ&index=1&list=PLIDllPt3EQZoS8gCP3cw273Cq9puuPLTg。 课程主页:http://web.stanford.edu/class/cs20si/index.html。课程所有的ppt和笔记notes下载地址:https://pan.baidu.com/s/1o8uOQpW。课程相关实战的github地址:chiphuyen/tf-stanford-tutorials

(6)最后,怎么能忘了谷歌爸爸发布在Tensorflow官网上的视频教程,针对Tensorflow初级学习的小伙伴还是非常不错的一套课程,有助于大家快速入门:https://developers.google.cn/machine-learning/crash-course/

好了,不管大家是喜欢看教程学习还是跟着视频学习,总之大家学完这些资料会对Tensorflow基础的知识、经典的模型、案例掌握的差不多,接下来是不是应该做一些逼格比较高的实战项目提升一下自己呢?所以接下来为大家推荐一些项目实战资源:


三、Tensorflow项目资源:
(1)一个实现实现Alex Graves论文的随机手写生成的案例:https://github.com/hardmaru/write-rnn-tensorflow

(2)基于Tensorflow的生成对抗文本到图像合成:https://github.com/zsdonghao/text-to-image。如下图所示,该项目是基于Tensorflow的DCGAN模型,教大家一步步从对抗生成文本到图像合成。


2.jpg
(3)基于注意力的图像字幕生成器:https://github.com/yunjey/show-attend-and-tell。该模型引入了基于注意力的图像标题生成器。可以将其注意力转移到图像的相关部分,同时生成每个单词。

(4)神经网络着色灰度图像:https://github.com/pavelgonchar/colornet。一个非常有趣且应用场景非常广的一个项目,使用神经网络着色灰度图像。

3.jpg
(5)基于Facebook中FastText的简单嵌入式文本分类器:https://github.com/apcode/tensorflow_fasttext。该项目是源于Facebook中的FastText的想法,并在Tensorflow中实施。FastText是一款快速的文本分类器,提供简单而高效的文本分类和表征学习的方法。

(6)用Tensorflow实现“基于句子分类的卷积神经网络”:https://github.com/dennybritz/cnn-text-classification-tf

(7)使用OpenStreetMap功能和卫星图像训练TensorFlow神经网络:https://github.com/jtoy/awesome-tensorflow。该项目是通过使用OpenStreetMap(OSM)数据训练神经网络,进而对卫星图像中的特征进行分类。

(8)用Tenflow实现YOLO:“实时对象检测”,并支持实时在移动设备上运行的一个小项目:https://github.com/thtrieu/darkflow。计算机视觉领域研究者的最佳福利。

4.jpg
以上就是小编觉得不错的一些Tensorflow项目,如果大家能把这些案例自己去动手实现,并理解每个项目的原理,相信你对Tensorflow、深度学习的理解已经很到位了。

更多参考原文
https://zhuanlan.zhihu.com/p/35515805





本帖被以下淘专辑推荐:

欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:26:57 | 显示全部楼层
25个深度学习相关公开数据集

目录
  • 介绍
  • 图像处理相关数据集
  • 自然语言处理相关数据集
  • 语音处理相关数据集
  • Supplement
介绍
通常来说,深度学习的关键在于实践。从图像处理到语音识别,每一个细分领域都有着独特的细微差别和解决方法。
然而,你可以从哪里获得这些数据呢?现在大家所看到的大部分研究论文都用的是专有数据集,这些专有数据集又通常不会公开。那么,想实践那些最新的理论方法往往就成了难题。
如果你也遇到了这样的问题,接下来我们会提供了一系列可用的公开数据集给大家。
在本文中,我们列出了一系列高质量的数据集,每个深度学习爱好者都可以使用这些数据集来提高自己的能力。应用这些数据集将使您成为一名更好的数据科学家,并且您从中获得的东西将在您的职业生涯中具有无可估量的价值。我们还收录了具有当前最好结果(SOTA)的论文,供您浏览并改进您的模型。
如何使用这些数据集?
首先要做的事:这些数据集的规模很大!所以请确保你的网络够快,确保下载没有任何限制。
有很多种方式可以使用这些数据集。比如:你可以使用它们来锻炼你的各种深度学习方法技巧;你可以使用它们来磨练你的技能,了解如何识别和构建每个问题,思考独特的使用案例和公布你的新发现!
数据集分为三类:图像处理相关数据集,自然语言处理相关数据集和语音处理相关数据集。如下。

图像处理相关数据集1.MNIST
1.jpg
MNIST是最受欢迎的深度学习数据集之一。它是一个手写数字数据集,包含一个60,000个样本的训练集和一个10,000个样本的测试集。这是一个很不错的数据集,它可用于在实际数据中尝试学习技术和深度识别模式,并且它花费极少的时间和精力在数据预处理上。
大小: 约50 MB
数量: 10个类别,70,000张图片
SOTA:Dynamic Routing Between Capsules

2.MS-COCO
2.jpg
COCO是一个可用于object detection, segmentation and caption的大型数据集。有以下特点:
  • 目标分割
  • 上下文关系识别
  • 超像素分割
  • 330K图像(> 200K已标记)
  • 150万个目标
  • 80个分类
  • 91种目标
  • 每张图片5个字幕
  • 包含250,000个人(已标记)
大小:约25 GB(压缩包)
数量: 330K张图像,80个对象类别,每个图像5个描述,25万个人(已标记)
SOTA: Mask R-CNN

更多内容
https://zhuanlan.zhihu.com/p/35449783






欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:30:47 | 显示全部楼层
详解机器学习中的熵、条件熵、相对熵和交叉熵


详解机器学习中的熵、条件熵、相对熵和交叉熵
作者:KLW
目录
  • 信息熵
  • 条件熵
  • 相对熵
  • 交叉熵
  • 总结

一  信息熵 (information entropy)
熵 (entropy) 这一词最初来源于热力学。1948年,克劳德·爱尔伍德·香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。本文只讨论信息熵。首先,我们先来理解一下信息这个概念。信息是一个很抽象的概念,百度百科将它定义为:指音讯、消息、通讯系统传输和处理的对象,泛指人类社会传播的一切内容。那信息可以被量化么?可以的!香农提出的“信息熵”概念解决了这一问题。

一条信息的信息量大小和它的不确定性有直接的关系。我们需要搞清楚一件非常非常不确定的事,或者是我们一无所知的事,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们就不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少。比如,有人说广东下雪了。对于这句话,我们是十分不确定的。因为广东几十年来下雪的次数寥寥无几。为了搞清楚,我们就要去看天气预报,新闻,询问在广东的朋友,而这就需要大量的信息,信息熵很高。再比如,中国男足进军2022年卡塔尔世界杯决赛圈。对于这句话,因为确定性很高,几乎不需要引入信息,信息熵很低。

考虑一个离散的随机变量 x,由上面两个例子可知,信息的量度应该依赖于概率分布 p(x),因此我们想要寻找一个函数 I(x),它是概率 p(x) 的单调函数,表达了信息的内容。怎么寻找呢?如果我们有两个不相关的事件 x和 y,那么观察两个事件同时发生时获得的信息量应该等于观察到事件各自发生时获得的信息之和,即:I(x,y)=I(x)+I(y)。

因为两个事件是独立不相关的,因此 p(x,y)=p(x)p(y)。根据这两个关系,很容易看出 I(x)一定与 p(x) 的对数有关 (因为对数的运算法则是 loga(mn)=logam+logan因此,我们有I(x)=−logp(x)。其中负号是用来保证信息量是正数或者零。而 log函数基的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特nats)。I(x)也被称为随机变量 x的自信息 (self-information),描述的是随机变量的某个事件发生所带来的信息量。图像如图:

1.jpg

最后,我们正式引出信息熵。 现在假设一个发送者想传送一个随机变量的值给接收者。那么在这个过程中,他们传输的平均信息量可以通过求 I(x)=−logp(x)关于概率分布 p(x) 的期望得到,即:

2.jpg
更多
https://zhuanlan.zhihu.com/p/35379531



欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:33:03 | 显示全部楼层
Tensorflow从入门到精通系列教程(一)

本系列教程将手把手带您从零开始学习Tensorflow,并最终通过Tensorflow实现一些经典的项目。欢迎您关注我们的微信公众号:磐创AI,关注我们的教程,关注更多机器学习、深度学习相关的优质博文。
Tensorflow是由谷歌大脑团队于2015年11月开发的第二代开源的机器学习系统。Tensorflow支持python、C++、java、GO等多种编程语言,以及CNN、RNN和GAN等深度学习算法。Tensorflow除可以在Windows、Linux、MacOS等操作系统运行外,还支持Android和iOS移动平台的运行、以及适用于多个CPU/GPU组成的分布式系统中。
Tensorflow是目前最火的深度学习框架,广泛应用于自然语言处理、语音识别、图像处理等多个领域。不仅深受全球深度学习爱好者的广泛欢迎,Google、eBay、Uber、OPenAI等众多科技公司的研发团队也都在使用它。
相较于其它的深度学习框架,如:Caffe、Torch、Keras、MXnet、Theano等,Tensorflow的主要优势有以下几点:高度的灵活性、支持python语言开发、可视化效果好、功能更加强大、运行效率高、强大的社区。
本节将从Tensorflow的安装配置、Tensorflow的核心——计算图模型开始讲起,带大家走进Tensorflow的世界。好了,随小编一起进入正文吧。
1. Tensorflow安装与配置
目前,Windows、Linux和MacOS均已支持Tensorflow。文章将以Windows系统的安装为例。
在安装Tensorflow前,我们要先安装Anaconda,因为它集成了很多Python的第三方库及其依赖项,方便我们在编程中直接调用。
Anaconda下载地址为:https://www.anaconda.com/download/。(分为python3.6版本和python2.7版本,本书使用的是python3.6版本。)
下载好安装包后,一步步执行安装过程,直到出现如图1-1所示的界面,完成Anaconda的安装:
1.jpg
图1-1 Anaconda安装成功截图
安装好Anaconda后,我们便可以打开命令提示符,输入pip install Tensorflow完成Tensorflow的安装。
之后我们进入python可执行界面,输入import tensorflow as tf来检验Tensorflow是否安装成功。如果没有报任何错,可以正常执行,则说明Tensorflow已经安装成功。
Jupyter Notebook是一款非常好用的交互式开发工具,不仅支持40多种编程语言,还可以实时运行代码、共享文档、数据可视化、支持markdown等,适用于机器学习、统计建模数据处理、特征提取等多个领域。尤其在Kaggle、天池等数据科学竞赛中,快捷、实时、方便的优点深受用户欢迎。本书后边的章节中,均将以Jupyter Notebook作为开发环境,运行Tensorflow程序。

更多:https://zhuanlan.zhihu.com/p/34759875


欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:34:57 | 显示全部楼层
Keras 官方中文文档发布

Keras: 基于 Python 的深度学习库

你恰好发现了 Keras。
Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。

如果你有如下需求,请选择 Keras:

允许简单而快速的原型设计(用户友好,高度模块化,可扩展性)。
同时支持卷积神经网络和循环神经网络,以及两者的组合。
在CPU和GPU上无缝运行与切换。
查看文档,请访问 Keras Documentation

Keras 兼容的 Python 版本: Python 2.7-3.6。

指导原则
User friendliness. Keras 是为人类设计的 API,而不是机器。它把用户体验放在首要和中心位置。Keras 遵循减少认知困难的最佳实践: 它提供一致和简单的 API,它将常见用例所需的用户操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。

Modularity. 模型被理解为由独立的,完全可配置的模块构成的序列或图表。这些模块可以在尽可能少的限制下组装在一起。特别是神经网络层、损失函数、优化器、初始化方法、激活函数、正则化方法,它们都是可以结合起来构建新模型的模块。

Easy extensibility. 新的模块是很容易添加的(作为新的类和函数),现有的模块已经提供了充足的例子。为能够轻松地创建可以提高表现力的新模块,使 Keras 更加适合高级研究。

Work with Python. Keras 没有特定格式的单独配置文件。模型定义在 Python 代码中,这些代码紧凑,易于调试,并且易于扩展。

链接
https://zhuanlan.zhihu.com/p/34284051




欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:37:17 | 显示全部楼层


自然场景中文文字检测和不定长中文OCR识别

chinese-ocr
项目介绍:本文基于tensorflow、keras/pytorch实现对自然场景的文字检测及端到端的OCR中文文字识别
项目地址:chineseocr/chinese-ocr
项目效果:

1.jpg
deep_ocr
项目介绍:make a better chinese character recognition OCR than tesseract
项目地址:JinpengLI/deep_ocr
项目效果:

2.jpg
...ocr res:============================================================name韦小宝============================================================address北京市东城区累山前街4号紫禁城敬事房============================================================month12============================================================minzu汉============================================================year1654============================================================sex男============================================================id1X21441114X221243X============================================================day20

text-detection-ctpn
项目介绍:text detection mainly based on ctpn model in tensorflow, id card detect, connectionist text proposal network
项目效果:
3.jpg
链接
https://zhuanlan.zhihu.com/p/33127851

欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:39:57 | 显示全部楼层
我在 B 站学机器学习(Machine Learning)- 吴恩达(Andrew Ng)【中英双语】

很多人回复我要注明原文链接,我做一个简单的说明,如果原作者对于这种介绍也不同意的话,联系我删除吧。
声明:
我有注明原文地址,仅仅是介绍,您的意思是 B 站不是你发布的地址还是什么意思。我这个文章只是介绍,文章清楚地介绍了视频地址。
首先我只是介绍视频,这个 B 站的视频。
然后我注明了 B 站的地址,这个视频并不是我上传的。
最后我不太明白,这个 B 站的视频是您上传了吗。
所以,是我这样的介绍需要征得作者的同意吗?
我比较蒙,你可以直接回复我,或者私信我都可以。
如果是介绍视频需要作者的同意的话,作者联系一下我,我把文章先删了吧。
1.jpg 2.jpg
视频地址:【中英双语】机器学习(Machine Learning)- 吴恩达(Andrew Ng)
机器学习:TensorFlow 安装,TensorFlow 教程,TensorFlowNews 原创人工智能,机器学习,深度学习,神经网络,计算机视觉,自然语言处理项目分享。
QQ 群:522785813

链接
https://zhuanlan.zhihu.com/p/31421864


欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:42:45 | 显示全部楼层
欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:44:29 | 显示全部楼层
谷歌正式发布发布TensorFlow 1.4


TensorFlow 1.4 版现在已公开发布 - 这是一个大更新!我们在这里非常高兴地宣布一些令人兴奋的新功能,希望大家喜欢。
Keras
在 1.4 版中,Keras 已从 tf.contrib.keras 迁移到核心软件包 tf.keras 中。Keras是一个非常热门的机器学习框架,它包含众多高级 API,这些 API 可以最大程度缩短从您的创意到可行实现之间的时间。

Keras 可与其他核心 TensorFlow 功能平稳集成,包括 Estimator API。事实上,您可以调用 tf.keras.estimator.model_to_estimator函数,直接从任何 Keras 模型构建估算器。由于 Keras 现在已添加到 TensorFlow 核心中,您可以在生产工作流程中依赖它。

数据集
我们高兴地宣布,Dataset API 已从 tf.contrib.data 迁移到核心软件包 tf.data中。1.4 版的 Dataset API 还增加了对 Python 生成器的支持。我们强烈建议使用 Dataset API 为 TensorFlow 模型创建输入管道,因为:
  • 与旧 API(feed_dict 或队列式管道)相比,Dataset API 可以提供更多功能。
  • Dataset API 的性能更高。
  • Dataset API 更简洁,更易于使用。
未来,我们会将开发重心放到 Dataset API 而不是旧 API 上。


估算器的分布式训练和评估
1.4 版还引入了实用函数 tf.estimator.train_and_evaluate,它简化了训练、评估和估算器模型的导出工作。此函数可以实现训练和评估的分布式执行,同时仍然支持本地执行。

其他增强功能
除了这里介绍的功能外,1.4 版还引入了许多其他增强功能,版本说明中进行了相关介绍:

安装 TensorFlow 1.4
TensorFlow 1.4 版现在可以使用标准 pip 安装获取。
[Bash shell] 纯文本查看 复制代码
# Note: the following command will overwrite any existing TensorFlow
# installation.
$ pip install --ignore-installed --upgrade tensorflow
# Use pip for Python 2.7
# Use pip3 instead of pip for Python 3.x

我们已将 http://tensorflow.org 上的文档更新为 1.4。

TensorFlow 的增强离不开贡献者。非常感谢参与 TensorFlow 开发的所有人!还犹豫什么?赶快加入社区并在 GitHub 上开发源代码或帮助在 Stack Overflow 上回答问题,成为一名贡献者吧!

我们希望大家喜欢这个版本中的所有功能。

祝大家尽情享受 TensorFlow 编码!
原文地址:发布TensorFlow 1.4


更多链接
https://zhuanlan.zhihu.com/p/31320691



欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
 楼主| 发表于 2018-4-16 20:47:23 | 显示全部楼层
Python 实现基于深度强化学习算法实现的一个简单自动驾驶 AI 【PyTorch】

A simple self-driving car AI python script using the deep Q-learning algorithm
建议使用PyTorch+Kivy运行脚本,环境配置详细教程 https://www.superdatascience.com/pytorch/


  learning=>
1.gif


  after a while=>
2.gif



此无人车AI项目使用的Deep Q-learning算法,是DeepMind在2013年发明的深度强化学习算法,将Q-learning的思想与神经网络算法结合,也算是现代强化学习算法的源头了。研究者用这个算法在2015年让计算机学会了49种Atari游戏,并在大部分游戏中击败了人类。从适用性上来讲,我们不需要告诉AI具体的规则,只要让它不断摸索,它就能慢慢从中找到规律,完成许多之前被认为只有人类能完成的智力活动。

既然是Q-learning和Deep learning的结合,就先结合无人车AI来讨论什么是Q-learning。

Q-learning是一种强化学习算法,无人车需要根据当前状态来采取动作,获得相应的奖励之后,再去改进这些动作,使得下次再到相同的状态时,无人车能做出更优的选择。我们用Q(S,A)表示在S状态时,采取A动作所获得的效用值。下面用字母R代表奖励(Rewards),S'代表采取A动作后到达的新位置。(奖励值R与效用值Q的区别在于,R表示的是这个位置的奖励,比如对于无人车而言障碍物的位置奖励是-100,河流的位置奖励是-120,柏油路的奖励是100,沙路的奖励是50。而Q代表的是,采取这个动作的效用值,用于评价在特定状态下采取这个动作的优劣,可以将之理解为无人车的大脑,它是对所有已知状态的综合考虑) 伪代码如下:

[Bash shell] 纯文本查看 复制代码
Initialize Q arbitrarily // 随机初始化Q值
Repeat (for each episode): // 每一次尝试,从车子出发到撞墙是一个episode
	Initialize S // 车辆出发,S为初始位置的状态
	Repeat (for each step of episode):
		Q(S,A) ← (1-α)*Q(S,A) + α*[R + γ*maxQ(S',a)] // Q-learning核心贝尔曼方程,更新动作效用值
		S ← S' // 更新位置
	until S is terminal // 位置到达终点

更多
https://zhuanlan.zhihu.com/p/31119925












欢迎加入about云群425860289432264021 ,云计算爱好者群,关注about云腾讯认证空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

QQ|小黑屋|about云开发-学问论坛|社区-大数据云技术学习分享平台 ( 京ICP备12023829号

GMT+8, 2018-4-24 18:40 , Processed in 0.508149 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表