python f怎么换换5f41af6c-f262-473b-b2f7-307c27e01e93数据格式

&p&Django 的好处就是大而全,不仅内置了 ORM、表单、模板引擎、用户系统等,而且第三方应用的生态也是十分完善,开发中大部分常见的功能都能找到对应的第三方实现。在这里给大家推荐 10 个十分优秀的 Django 第三方库(GitHub 星星数基本都在 1000 以上,而且都在持续维护与更新中)。虽然这些库很适合用于社交网站的开发,但也有很大一部分是通用的,可以用于任何用 Django 开发的项目。使用这些库将大大提高开发效率和生产力。&/p&&h2&django-model-utils&/h2&&p&简介:Django model mixins and utilities.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/jazzband/django-model-utils& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/jazzband/django-model-utils&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-model-utils.readthedocs.io/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-model-utils.readthedocs.io/en/latest/&/a&&/p&&p&点评:增强 Django 的 model 模块。内置了一些通用的 model Mixin,例如 &code&TimeStampedModel&/code& 为模型提供一个创建时间和修改时间的字段,还有一些有用的 Field,几乎每个 Django 项目都能用得上。&/p&&h2&django-allauth&/h2&&p&简介:Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/pennersr/django-allauth& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/pennersr/django-allauth&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//django-allauth.readthedocs.io/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://django-allauth.readthedocs.io/en/latest/&/a&&/p&&p&点评:增强 Django 内置的 django.contrib.auth 模块,提供登录、注册、邮件验证、找回密码等一切用户验证相关的功能。另外还提供 OAuth 第三方登录功能,例如国内的微博、微信登录,国外的 GitHub、Google、facebook 登录等,几乎囊括了大部分热门的第三方账户登录。配置简单,开箱即用。&/p&&h2&django-crispy-forms&/h2&&p&简介:The best way to have DRY Django forms. The app provides a tag and filter that lets you quickly render forms in a div format while providing an enormous amount of capability to configure and control the rendered HTML.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/django-crispy-forms/django-crispy-forms& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/django-crispy-forms/django-crispy-forms&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-crispy-forms.rtfd.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-crispy-forms.rtfd.org/&/a&&/p&&p&点评:大大增强 Django 内置的表单功能,Django 内置的表单生成原生的 HTML 表单代码还可以,但为其设置样式是一个麻烦的事情。django-crispy-forms 帮助你使用一行代码渲染一个 Bootstrap 样式的表单,当然它还支持其它一些热门的 CSS 框架样式的渲染。&/p&&h2&django-mptt&/h2&&p&简介:Utilities for implementing a modified pre-order traversal tree in django.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/django-mptt/django-mptt& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/django-mptt/django-mptt&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//django-mptt.readthedocs.io/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://django-mptt.readthedocs.io/&/a&&/p&&p&点评:配合 Django 的 ORM 系统,为数据库的记录生成树形结构,并提供便捷的操作树型记录的 API。例如可以使用它实现一个多级的评论系统。总之,只要你的数据结构可能需要使用树来表示,django-mptt 将大大提高你的开发效率。&/p&&h2&django-contrib-comments&/h2&&p&简介:Django used to include
since Django 1.6 it's been separated to a separate project. This is that project.&/p&&p&This framework can be used to attach comments to any model, so you can use it for comments on blog entries, photos, book chapters, or anything else.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/django/django-contrib-comments& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/django/django-contrib-comments&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//django-contrib-comments.readthedocs.io/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://django-contrib-comments.readthedocs.io/&/a&&/p&&p&点评:用于提供评论功能,最先集成在 django 的 contrib 内置库里,后来被移出来单独维护(可能觉得评论并非是一个通用的库吧)。这个评论库提供了基本的评论功能,但是只支持单级评论。好在这个库具有很好的拓展性,基于上边提到的 django-mptt,就可以构建一个支持层级评论的评论库,就像 &a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//zmrenwu.com/post/20/%23comment-area& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&我的博客评论区&/a& 中展示的这样(个人博客的评论模块就是基于 django-contrib-comments 和 django-mptt 写的)。&/p&&h2&django-imagekit&/h2&&p&简介:Automated image processing for Django.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/matthewwithanm/django-imagekit& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/matthewwithanm/django-imagekit&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-imagekit.rtfd.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-imagekit.rtfd.org/&/a&&/p&&p&点评:社交类网站免不了处理一些图片,例如头像、用户上传的图片等内容。django-imagekit 帮你配合 django 的 model 模块自动完成图片的裁剪、压缩、生成缩略图等一系列图片相关的操作。&/p&&h2&django-brace&/h2&&p&简介:Reusable, generic mixins for Django&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/brack3t/django-braces& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/brack3t/django-braces&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-braces.readthedocs.io/en/latest/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-braces.readthedocs.io/en/latest/index.html&/a&&/p&&p&点评:django 内置的 class based view 很 awesome,但还有一些通用的类视图没有包含在 django 源码中,这个库补充了更多常用的类视图。类视图是 django 的一个很重要也很优雅的特性,使用类视图可以减少视图函数的代码编写量、提高视图函数的代码复用性等。深入学习类视图可以看&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//zmrenwu.com/post/51/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Django类视图源码分析&/a&。&/p&&h2&django-notifications-hq&/h2&&p&简介:GitHub notifications alike app for Django&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/django-notifications/django-notifications& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/django-notifications/django-notifications&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//pypi.python.org/pypi/django-notifications-hq/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://pypi.python.org/pypi/django-notifications-hq/&/a&&/p&&p&点评:没什么好说的,为你的网站提供类似于 GitHub 这样的通知功能。未读通知数、通知列表、标为已读等等。&/p&&h2&django-simple-captcha&/h2&&p&简介:Django Simple Captcha is an extremely simple, yet highly customizable Django application to add captcha images to any Django form.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/mbi/django-simple-captcha& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/mbi/django-simple-captcha&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-simple-captcha.readthedocs.io/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-simple-captcha.readthedocs.io/en/latest/&/a&&/p&&p&点评:配合 django 的表单模块,方便地为表单添加一个验证码字段。对验证性要求不高的需求,例如注册表单防止机器人自动注册等使用起来非常方便。&/p&&h2&django-anymail&/h2&&p&简介:Django email backends and webhooks for Mailgun, Mailjet, Postmark, SendGrid, SparkPost and more&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/anymail/django-anymail& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/anymail/django-anymail&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//anymail.readthedocs.io/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://anymail.readthedocs.io/&/a&&/p&&p&点评:配合 django 的 email 模块,只需简单配置,就可以使用 Mailgun、SendGrid 等发送邮件。&/p&&h2&django-activity-stream&/h2&&p&简介:Generate generic activity streams from the actions on your site. Users can follow any actors' activities for personalized streams.&/p&&p&GitHub 地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttps%3A//github.com/justquick/django-activity-stream& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&https://github.com/justquick/django-activity-stream&/a&&/p&&p&文档地址:&a href=&https://link.zhihu.com/?target=https%3A//link.jianshu.com/%3Ft%3Dhttp%3A//django-activity-stream.rtfd.io/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://django-activity-stream.rtfd.io/en/latest/&/a&&/p&&p&点评:社交类网站免不了关注、收藏、点赞、用户动态等功能,这一个 app 全搞定。甚至用它实现一个朋友圈也不是不可能。&/p&
Django 的好处就是大而全,不仅内置了 ORM、表单、模板引擎、用户系统等,而且第三方应用的生态也是十分完善,开发中大部分常见的功能都能找到对应的第三方实现。在这里给大家推荐 10 个十分优秀的 Django 第三方库(GitHub 星星数基本都在 1000 以上,而且…
&figure&&img src=&https://pic1.zhimg.com/v2-361cfc2ff6e7f_b.jpg& data-rawwidth=&600& data-rawheight=&1307& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic1.zhimg.com/v2-361cfc2ff6e7f_r.jpg&&&/figure&&h2&&b&前言&/b&&/h2&&p&这段时间到了新公司,工作上开始研究DeepLearning以及TensorFlow,挺忙了,前段时间看了VGG和deep residual的paper,一直没有时间写,今天准备好好把这两篇相关的paper重读下。&/p&&p&&b&VGGnet&/b&&/p&&p&VGGnet是Oxford的Visual Geometry Group的team,在ILSVRC 2014上的相关工作,主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能,如下图,文章通过逐步增加网络深度来提高性能,虽然看起来有一点小暴力,没有特别多取巧的,但是确实有效,很多pretrained的方法就是使用VGG的model(主要是16和19),VGG相对其他的方法,参数空间很大,最终的model有500多m,alnext只有200m,googlenet更少,所以train一个vgg模型通常要花费更长的时间,所幸有公开的pretrained model让我们很方便的使用,前面neural style这篇文章就使用的pretrained的model,paper中的几种模型如下:&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-d215f7a4d8e7f38c85fa0c998d29107e_b.jpg& data-caption=&& data-rawwidth=&1113& data-rawheight=&1285& class=&origin_image zh-lightbox-thumb& width=&1113& data-original=&https://pic3.zhimg.com/v2-d215f7a4d8e7f38c85fa0c998d29107e_r.jpg&&&/figure&&p&可以从图中看出,从A到最后的E,他们增加的是每一个卷积组中的卷积层数,最后D,E是我们常见的VGG-16,VGG-19模型,C中作者说明,在引入1*1是考虑做线性变换(这里channel一致, 不做降维),后面在最终数据的分析上来看C相对于B确实有一定程度的提升,但不如D、VGG主要得优势在于&/p&&ul&&li&减少参数的措施,对于一组(假定3个,paper里面只stack of three 3*3)卷积相对于7*7在使用3层的非线性关系(3层RELU)的同时保证参数数量为3*(3^2C^2)=27C^2的,而7*7为49C^2,参数约为7*7的81%。&/li&&li&去掉了LRN,减少了内存的小消耗和计算时间&/li&&/ul&&p&&b&VGG-16 tflearn实现&/b&&/p&&p&tflearn 官方github上有给出基于tflearn下的VGG-16的实现 from &b&future&/b& import division, print_function, absolute_import&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&tflearn&/span&
&span class=&kn&&from&/span& &span class=&nn&&tflearn.layers.core&/span& &span class=&kn&&import&/span& &span class=&n&&input_data&/span&&span class=&p&&,&/span& &span class=&n&&dropout&/span&&span class=&p&&,&/span& &span class=&n&&fully_connected&/span&
&span class=&kn&&from&/span& &span class=&nn&&tflearn.layers.conv&/span& &span class=&kn&&import&/span& &span class=&n&&conv_2d&/span&&span class=&p&&,&/span& &span class=&n&&max_pool_2d&/span&
&span class=&kn&&from&/span& &span class=&nn&&tflearn.layers.estimator&/span& &span class=&kn&&import&/span& &span class=&n&&regression&/span&
&span class=&c1&&# Data loading and preprocessing&/span&
&span class=&kn&&import&/span& &span class=&nn&&tflearn.datasets.oxflower17&/span& &span class=&kn&&as&/span& &span class=&nn&&oxflower17&/span&
&span class=&n&&X&/span&&span class=&p&&,&/span& &span class=&n&&Y&/span& &span class=&o&&=&/span& &span class=&n&&oxflower17&/span&&span class=&o&&.&/span&&span class=&n&&load_data&/span&&span class=&p&&(&/span&&span class=&n&&one_hot&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&)&/span&
&span class=&c1&&# Building 'VGG Network'&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&input_data&/span&&span class=&p&&(&/span&&span class=&n&&shape&/span&&span class=&o&&=&/span&&span class=&p&&[&/span&&span class=&bp&&None&/span&&span class=&p&&,&/span& &span class=&mi&&224&/span&&span class=&p&&,&/span& &span class=&mi&&224&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&])&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&64&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&64&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&max_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&128&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&128&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&max_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&256&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&256&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&256&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&max_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&max_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&512&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&max_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&4096&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&dropout&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mf&&0.5&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&4096&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&dropout&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mf&&0.5&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&mi&&17&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'softmax'&/span&&span class=&p&&)&/span&
&span class=&n&&network&/span& &span class=&o&&=&/span& &span class=&n&&regression&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&n&&optimizer&/span&&span class=&o&&=&/span&&span class=&s1&&'rmsprop'&/span&&span class=&p&&,&/span&
&span class=&n&&loss&/span&&span class=&o&&=&/span&&span class=&s1&&'categorical_crossentropy'&/span&&span class=&p&&,&/span&
&span class=&n&&learning_rate&/span&&span class=&o&&=&/span&&span class=&mf&&0.001&/span&&span class=&p&&)&/span&
&span class=&c1&&# Training&/span&
&span class=&n&&model&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&DNN&/span&&span class=&p&&(&/span&&span class=&n&&network&/span&&span class=&p&&,&/span& &span class=&n&&checkpoint_path&/span&&span class=&o&&=&/span&&span class=&s1&&'model_vgg'&/span&&span class=&p&&,&/span&
&span class=&n&&max_checkpoints&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&n&&tensorboard_verbose&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&)&/span&
&span class=&n&&model&/span&&span class=&o&&.&/span&&span class=&n&&fit&/span&&span class=&p&&(&/span&&span class=&n&&X&/span&&span class=&p&&,&/span& &span class=&n&&Y&/span&&span class=&p&&,&/span& &span class=&n&&n_epoch&/span&&span class=&o&&=&/span&&span class=&mi&&500&/span&&span class=&p&&,&/span& &span class=&n&&shuffle&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span&
&span class=&n&&show_metric&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&batch_size&/span&&span class=&o&&=&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&n&&snapshot_step&/span&&span class=&o&&=&/span&&span class=&mi&&500&/span&&span class=&p&&,&/span&
&span class=&n&&snapshot_epoch&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span& &span class=&n&&run_id&/span&&span class=&o&&=&/span&&span class=&s1&&'vgg_oxflowers17'&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&VGG-16 graph如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-bdbd5c40b27e83fe35408d73_b.jpg& data-caption=&& data-rawwidth=&2208& data-rawheight=&4143& class=&origin_image zh-lightbox-thumb& width=&2208& data-original=&https://pic1.zhimg.com/v2-bdbd5c40b27e83fe35408d73_r.jpg&&&/figure&&p&&br&&/p&&p&对VGG,我个人觉得他的亮点不多,pre-trained的model我们可以很好的使用,但是不如GoogLeNet那样让我有眼前一亮的感觉。&/p&&h2&Deep Residual Network&/h2&&p&&b&Deep Residual Network解读&/b&&/p&&p&一般来说越深的网络,越难被训练,&u&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Deep Residual Learning for Image Recognition&/a&&/u&中提出一种residual learning的框架,能够大大简化模型网络的训练时间,使得在可接受时间内,模型能够更深(152甚至尝试了1000),该方法在ILSVRC2015上取得最好的成绩。&/p&&p&随着模型深度的增加,会产生以下问题:&/p&&ul&&li&vanishing/exploding gradient,导致了训练十分难收敛,这类问题能够通过norimalized initialization 和intermediate normalization layers解决;&/li&&li&对合适的额深度模型再次增加层数,模型准确率会迅速下滑(不是overfit造成),training error和test error都会很高,相应的现象在CIFAR-10和ImageNet都有提及&/li&&/ul&&p&为了解决因深度增加而产生的性能下降问题,作者提出下面一种结构来做residual learning:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-edd915dd932684_b.jpg& data-caption=&& data-rawwidth=&779& data-rawheight=&384& class=&origin_image zh-lightbox-thumb& width=&779& data-original=&https://pic2.zhimg.com/v2-edd915dd932684_r.jpg&&&/figure&&p&&br&&/p&&p&假设潜在映射为H(x),使stacked nonlinear layers去拟合F(x):=H(x)-x,残差优化比优化H(x)更容易。 F(x)+x能够很容易通过”shortcut connections”来实现。&/p&&p&这篇文章主要得改善就是对传统的卷积模型增加residual learning,通过残差优化来找到近似最优identity mappings。&/p&&p&paper当中的一个网络结构:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-b_b.jpg& data-caption=&& data-rawwidth=&859& data-rawheight=&1871& class=&origin_image zh-lightbox-thumb& width=&859& data-original=&https://pic3.zhimg.com/v2-b_r.jpg&&&/figure&&p&&br&&/p&&p&&b&Deep Residual Network tflearn实现&/b&&/p&&p&tflearn官方有一个cifar10的实现, 代码如下:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&__future__&/span& &span class=&kn&&import&/span& &span class=&n&&division&/span&&span class=&p&&,&/span& &span class=&n&&print_function&/span&&span class=&p&&,&/span& &span class=&n&&absolute_import&/span&
&span class=&kn&&import&/span& &span class=&nn&&tflearn&/span&
&span class=&c1&&# Residual blocks&/span&
&span class=&c1&&# 32 layers: n=5, 56 layers: n=9, 110 layers: n=18&/span&
&span class=&n&&n&/span& &span class=&o&&=&/span& &span class=&mi&&5&/span&
&span class=&c1&&# Data loading&/span&
&span class=&kn&&from&/span& &span class=&nn&&tflearn.datasets&/span& &span class=&kn&&import&/span& &span class=&n&&cifar10&/span&
&span class=&p&&(&/span&&span class=&n&&X&/span&&span class=&p&&,&/span& &span class=&n&&Y&/span&&span class=&p&&),&/span& &span class=&p&&(&/span&&span class=&n&&testX&/span&&span class=&p&&,&/span& &span class=&n&&testY&/span&&span class=&p&&)&/span& &span class=&o&&=&/span& &span class=&n&&cifar10&/span&&span class=&o&&.&/span&&span class=&n&&load_data&/span&&span class=&p&&()&/span&
&span class=&n&&Y&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&data_utils&/span&&span class=&o&&.&/span&&span class=&n&&to_categorical&/span&&span class=&p&&(&/span&&span class=&n&&Y&/span&&span class=&p&&,&/span& &span class=&mi&&10&/span&&span class=&p&&)&/span&
&span class=&n&&testY&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&data_utils&/span&&span class=&o&&.&/span&&span class=&n&&to_categorical&/span&&span class=&p&&(&/span&&span class=&n&&testY&/span&&span class=&p&&,&/span& &span class=&mi&&10&/span&&span class=&p&&)&/span&
&span class=&c1&&# Real-time data preprocessing&/span&
&span class=&n&&img_prep&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&ImagePreprocessing&/span&&span class=&p&&()&/span&
&span class=&n&&img_prep&/span&&span class=&o&&.&/span&&span class=&n&&add_featurewise_zero_center&/span&&span class=&p&&(&/span&&span class=&n&&per_channel&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&)&/span&
&span class=&c1&&# Real-time data augmentation&/span&
&span class=&n&&img_aug&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&ImageAugmentation&/span&&span class=&p&&()&/span&
&span class=&n&&img_aug&/span&&span class=&o&&.&/span&&span class=&n&&add_random_flip_leftright&/span&&span class=&p&&()&/span&
&span class=&n&&img_aug&/span&&span class=&o&&.&/span&&span class=&n&&add_random_crop&/span&&span class=&p&&([&/span&&span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&32&/span&&span class=&p&&],&/span& &span class=&n&&padding&/span&&span class=&o&&=&/span&&span class=&mi&&4&/span&&span class=&p&&)&/span&
&span class=&c1&&# Building Residual Network&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&input_data&/span&&span class=&p&&(&/span&&span class=&n&&shape&/span&&span class=&o&&=&/span&&span class=&p&&[&/span&&span class=&bp&&None&/span&&span class=&p&&,&/span& &span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&],&/span&
&span class=&n&&data_preprocessing&/span&&span class=&o&&=&/span&&span class=&n&&img_prep&/span&&span class=&p&&,&/span&
&span class=&n&&data_augmentation&/span&&span class=&o&&=&/span&&span class=&n&&img_aug&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&mi&&16&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&n&&regularizer&/span&&span class=&o&&=&/span&&span class=&s1&&'L2'&/span&&span class=&p&&,&/span& &span class=&n&&weight_decay&/span&&span class=&o&&=&/span&&span class=&mf&&0.0001&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&n&&n&/span&&span class=&p&&,&/span& &span class=&mi&&16&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&32&/span&&span class=&p&&,&/span& &span class=&n&&downsample&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&n&&n&/span&&span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&32&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&64&/span&&span class=&p&&,&/span& &span class=&n&&downsample&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&n&&n&/span&&span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&mi&&64&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&batch_normalization&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&activation&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&s1&&'relu'&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&global_avg_pool&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&)&/span&
&span class=&c1&&# Regression&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&mi&&10&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'softmax'&/span&&span class=&p&&)&/span&
&span class=&n&&mom&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&Momentum&/span&&span class=&p&&(&/span&&span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&n&&lr_decay&/span&&span class=&o&&=&/span&&span class=&mf&&0.1&/span&&span class=&p&&,&/span& &span class=&n&&decay_step&/span&&span class=&o&&=&/span&&span class=&mi&&32000&/span&&span class=&p&&,&/span& &span class=&n&&staircase&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&)&/span&
&span class=&n&&net&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&regression&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&n&&optimizer&/span&&span class=&o&&=&/span&&span class=&n&&mom&/span&&span class=&p&&,&/span&
&span class=&n&&loss&/span&&span class=&o&&=&/span&&span class=&s1&&'categorical_crossentropy'&/span&&span class=&p&&)&/span&
&span class=&c1&&# Training&/span&
&span class=&n&&model&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&DNN&/span&&span class=&p&&(&/span&&span class=&n&&net&/span&&span class=&p&&,&/span& &span class=&n&&checkpoint_path&/span&&span class=&o&&=&/span&&span class=&s1&&'model_resnet_cifar10'&/span&&span class=&p&&,&/span&
&span class=&n&&max_checkpoints&/span&&span class=&o&&=&/span&&span class=&mi&&10&/span&&span class=&p&&,&/span& &span class=&n&&tensorboard_verbose&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span&
&span class=&n&&clip_gradients&/span&&span class=&o&&=&/span&&span class=&mf&&0.&/span&&span class=&p&&)&/span&
&span class=&n&&model&/span&&span class=&o&&.&/span&&span class=&n&&fit&/span&&span class=&p&&(&/span&&span class=&n&&X&/span&&span class=&p&&,&/span& &span class=&n&&Y&/span&&span class=&p&&,&/span& &span class=&n&&n_epoch&/span&&span class=&o&&=&/span&&span class=&mi&&200&/span&&span class=&p&&,&/span& &span class=&n&&validation_set&/span&&span class=&o&&=&/span&&span class=&p&&(&/span&&span class=&n&&testX&/span&&span class=&p&&,&/span& &span class=&n&&testY&/span&&span class=&p&&),&/span&
&span class=&n&&snapshot_epoch&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span& &span class=&n&&snapshot_step&/span&&span class=&o&&=&/span&&span class=&mi&&500&/span&&span class=&p&&,&/span&
&span class=&n&&show_metric&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&batch_size&/span&&span class=&o&&=&/span&&span class=&mi&&128&/span&&span class=&p&&,&/span& &span class=&n&&shuffle&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span&
&span class=&n&&run_id&/span&&span class=&o&&=&/span&&span class=&s1&&'resnet_cifar10'&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&其中,residual_block实现了shortcut,代码写的十分棒:&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&k&&def&/span& &span class=&nf&&residual_block&/span&&span class=&p&&(&/span&&span class=&n&&incoming&/span&&span class=&p&&,&/span& &span class=&n&&nb_blocks&/span&&span class=&p&&,&/span& &span class=&n&&out_channels&/span&&span class=&p&&,&/span& &span class=&n&&downsample&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span&
&span class=&n&&downsample_strides&/span&&span class=&o&&=&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&o&&=&/span&&span class=&s1&&'relu'&/span&&span class=&p&&,&/span& &span class=&n&&batch_norm&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span&
&span class=&n&&bias&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&weights_init&/span&&span class=&o&&=&/span&&span class=&s1&&'variance_scaling'&/span&&span class=&p&&,&/span&
&span class=&n&&bias_init&/span&&span class=&o&&=&/span&&span class=&s1&&'zeros'&/span&&span class=&p&&,&/span& &span class=&n&&regularizer&/span&&span class=&o&&=&/span&&span class=&s1&&'L2'&/span&&span class=&p&&,&/span& &span class=&n&&weight_decay&/span&&span class=&o&&=&/span&&span class=&mf&&0.0001&/span&&span class=&p&&,&/span&
&span class=&n&&trainable&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&restore&/span&&span class=&o&&=&/span&&span class=&bp&&True&/span&&span class=&p&&,&/span& &span class=&n&&reuse&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span& &span class=&n&&scope&/span&&span class=&o&&=&/span&&span class=&bp&&None&/span&&span class=&p&&,&/span&
&span class=&n&&name&/span&&span class=&o&&=&/span&&span class=&s2&&&ResidualBlock&&/span&&span class=&p&&):&/span&
&span class=&sd&&&&& Residual Block.&/span&
&span class=&sd&&
A residual block as described in MSRA's Deep Residual Network paper.&/span&
&span class=&sd&&
Full pre-activation architecture is used here.&/span&
&span class=&sd&&
Input:&/span&
&span class=&sd&&
4-D Tensor [batch, height, width, in_channels].&/span&
&span class=&sd&&
Output:&/span&
&span class=&sd&&
4-D Tensor [batch, new height, new width, nb_filter].&/span&
&span class=&sd&&
Arguments:&/span&
&span class=&sd&&
incoming: `Tensor`. Incoming 4-D Layer.&/span&
&span class=&sd&&
nb_blocks: `int`. Number of layer blocks.&/span&
&span class=&sd&&
out_channels: `int`. The number of convolutional filters of the&/span&
&span class=&sd&&
convolution layers.&/span&
&span class=&sd&&
downsample: `bool`. If True, apply downsampling using&/span&
&span class=&sd&&
'downsample_strides' for strides.&/span&
&span class=&sd&&
downsample_strides: `int`. The strides to use when downsampling.&/span&
&span class=&sd&&
activation: `str` (name) or `function` (returning a `Tensor`).&/span&
&span class=&sd&&
Activation applied to this layer (see tflearn.activations).&/span&
&span class=&sd&&
Default: 'linear'.&/span&
&span class=&sd&&
batch_norm: `bool`. If True, apply batch normalization.&/span&
&span class=&sd&&
bias: `bool`. If True, a bias is used.&/span&
&span class=&sd&&
weights_init: `str` (name) or `Tensor`. Weights initialization.&/span&
&span class=&sd&&
(see tflearn.initializations) Default: 'uniform_scaling'.&/span&
&span class=&sd&&
bias_init: `str` (name) or `tf.Tensor`. Bias initialization.&/span&
&span class=&sd&&
(see tflearn.initializations) Default: 'zeros'.&/span&
&span class=&sd&&
regularizer: `str` (name) or `Tensor`. Add a regularizer to this&/span&
&span class=&sd&&
layer weights (see tflearn.regularizers). Default: None.&/span&
&span class=&sd&&
weight_decay: `float`. Regularizer decay parameter. Default: 0.001.&/span&
&span class=&sd&&
trainable: `bool`. If True, weights will be trainable.&/span&
&span class=&sd&&
restore: `bool`. If True, this layer weights will be restored when&/span&
&span class=&sd&&
loading a model.&/span&
&span class=&sd&&
reuse: `bool`. If True and 'scope' is provided, this layer variables&/span&
&span class=&sd&&
will be reused (shared).&/span&
&span class=&sd&&
scope: `str`. Define this layer scope (optional). A scope can be&/span&
&span class=&sd&&
used to share variables between layers. Note that scope will&/span&
&span class=&sd&&
override name.&/span&
&span class=&sd&&
name: A name for this layer (optional). Default: 'ShallowBottleneck'.&/span&
&span class=&sd&&
References:&/span&
&span class=&sd&&
- Deep Residual Learning for Image Recognition. Kaiming He, Xiangyu&/span&
&span class=&sd&&
Zhang, Shaoqing Ren, Jian Sun. 2015.&/span&
&span class=&sd&&
- Identity Mappings in Deep Residual Networks. Kaiming He, Xiangyu&/span&
&span class=&sd&&
Zhang, Shaoqing Ren, Jian Sun. 2015.&/span&
&span class=&sd&&
Links:&/span&
&span class=&sd&&
- [http://arxiv.org/pdf/v1.pdf]&/span&
&span class=&sd&&
(http://arxiv.org/pdf/v1.pdf)&/span&
&span class=&sd&&
- [Identity Mappings in Deep Residual Networks]&/span&
&span class=&sd&&
(https://arxiv.org/pdf/v2.pdf)&/span&
&span class=&sd&&
&&&&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&incoming&/span&
&span class=&n&&in_channels&/span& &span class=&o&&=&/span& &span class=&n&&incoming&/span&&span class=&o&&.&/span&&span class=&n&&get_shape&/span&&span class=&p&&()&/span&&span class=&o&&.&/span&&span class=&n&&as_list&/span&&span class=&p&&()[&/span&&span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&
&span class=&k&&with&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&variable_op_scope&/span&&span class=&p&&([&/span&&span class=&n&&incoming&/span&&span class=&p&&],&/span& &span class=&n&&scope&/span&&span class=&p&&,&/span& &span class=&n&&name&/span&&span class=&p&&,&/span& &span class=&n&&reuse&/span&&span class=&o&&=&/span&&span class=&n&&reuse&/span&&span class=&p&&)&/span& &span class=&k&&as&/span& &span class=&n&&scope&/span&&span class=&p&&:&/span&
&span class=&n&&name&/span& &span class=&o&&=&/span& &span class=&n&&scope&/span&&span class=&o&&.&/span&&span class=&n&&name&/span& &span class=&c1&&#TODO&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&nb_blocks&/span&&span class=&p&&):&/span&
&span class=&n&&identity&/span& &span class=&o&&=&/span& &span class=&n&&resnet&/span&
&span class=&k&&if&/span& &span class=&ow&&not&/span& &span class=&n&&downsample&/span&&span class=&p&&:&/span&
&span class=&n&&downsample_strides&/span& &span class=&o&&=&/span& &span class=&mi&&1&/span&
&span class=&k&&if&/span& &span class=&n&&batch_norm&/span&&span class=&p&&:&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&batch_normalization&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&)&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&activation&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&p&&)&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&,&/span& &span class=&n&&out_channels&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span&
&span class=&n&&downsample_strides&/span&&span class=&p&&,&/span& &span class=&s1&&'same'&/span&&span class=&p&&,&/span& &span class=&s1&&'linear'&/span&&span class=&p&&,&/span&
&span class=&n&&bias&/span&&span class=&p&&,&/span& &span class=&n&&weights_init&/span&&span class=&p&&,&/span& &span class=&n&&bias_init&/span&&span class=&p&&,&/span&
&span class=&n&&regularizer&/span&&span class=&p&&,&/span& &span class=&n&&weight_decay&/span&&span class=&p&&,&/span& &span class=&n&&trainable&/span&&span class=&p&&,&/span&
&span class=&n&&restore&/span&&span class=&p&&)&/span&
&span class=&k&&if&/span& &span class=&n&&batch_norm&/span&&span class=&p&&:&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&batch_normalization&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&)&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&activation&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&,&/span& &span class=&n&&activation&/span&&span class=&p&&)&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&conv_2d&/span&&span class=&p&&(&/span&&span class=&n&&resnet&/span&&span class=&p&&,&/span& &span class=&n&&out_channels&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span& &span class=&s1&&'same'&/span&&span class=&p&&,&/span&
&span class=&s1&&'linear'&/span&&span class=&p&&,&/span& &span class=&n&&bias&/span&&span class=&p&&,&/span& &span class=&n&&weights_init&/span&&span class=&p&&,&/span&
&span class=&n&&bias_init&/span&&span class=&p&&,&/span& &span class=&n&&regularizer&/span&&span class=&p&&,&/span& &span class=&n&&weight_decay&/span&&span class=&p&&,&/span&
&span class=&n&&trainable&/span&&span class=&p&&,&/span& &span class=&n&&restore&/span&&span class=&p&&)&/span&
&span class=&c1&&# Downsampling&/span&
&span class=&k&&if&/span& &span class=&n&&downsample_strides&/span& &span class=&o&&&&/span& &span class=&mi&&1&/span&&span class=&p&&:&/span&
&span class=&n&&identity&/span& &span class=&o&&=&/span& &span class=&n&&tflearn&/span&&span class=&o&&.&/span&&span class=&n&&avg_pool_2d&/span&&span class=&p&&(&/span&&span class=&n&&identity&/span&&span class=&p&&,&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span&
&span class=&n&&downsample_strides&/span&&span class=&p&&)&/span&
&span class=&c1&&# Projection to new dimension&/span&
&span class=&k&&if&/span& &span class=&n&&in_channels&/span& &span class=&o&&!=&/span& &span class=&n&&out_channels&/span&&span class=&p&&:&/span&
&span class=&n&&ch&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&out_channels&/span& &span class=&o&&-&/span& &span class=&n&&in_channels&/span&&span class=&p&&)&/span&&span class=&o&&//&/span&&span class=&mi&&2&/span&
&span class=&n&&identity&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&pad&/span&&span class=&p&&(&/span&&span class=&n&&identity&/span&&span class=&p&&,&/span&
&span class=&p&&[[&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&p&&[&/span&&span class=&n&&ch&/span&&span class=&p&&,&/span& &span class=&n&&ch&/span&&span class=&p&&]])&/span&
&span class=&n&&in_channels&/span& &span class=&o&&=&/span& &span class=&n&&out_channels&/span&
&span class=&n&&resnet&/span& &span class=&o&&=&/span& &span class=&n&&resnet&/span& &span class=&o&&+&/span& &span class=&n&&identity&/span&
&span class=&k&&return&/span& &span class=&n&&resnet&/span&
&/code&&/pre&&/div&&p&Deep Residual Network tflearn这个里面有一个downsample, 我在run这段代码的时候出现一个error,是tensorflow提示kernel size 1 小于stride,我看了好久, sample确实要这样,莫非是tensorflow不支持kernel小于stride的情况?我这里往tflearn里提了个issue &u&&a href=&https://link.zhihu.com/?target=https%3A//github.com/tflearn/tflearn/issues/331& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&issue-331&/a&&/u&&/p&&p&kaiming He在新的paper里面提了proposed Residualk Unit,相比于上面提到的采用pre-activation的理念,相对于原始的residual unit能够更容易的训练,并且得到更好的泛化能力。&/p&&h2&&b&总结&/b&&/h2&&p&前面一段时间,大部分花在看CV模型上,研究其中的原理,从AlexNet到deep residual network,从大牛的paper里面学到了很多,接下来一段时间,我会去github找一些特别有意思的相关项目,可能会包括GAN等等的东西来玩玩,还有在DL meetup上听周昌大神说的那些neural style的各种升级版本,也许还有强化学习的一些框架以及好玩的东西。&/p&
前言这段时间到了新公司,工作上开始研究DeepLearning以及TensorFlow,挺忙了,前段时间看了VGG和deep residual的paper,一直没有时间写,今天准备好好把这两篇相关的paper重读下。VGGnetVGGnet是Oxford的Visual Geometry Group的team,在ILSVRC 2014上的相…
&figure&&img src=&https://pic1.zhimg.com/v2-54d623fd3f22_b.jpg& data-rawwidth=&654& data-rawheight=&403& class=&origin_image zh-lightbox-thumb& width=&654& data-original=&https://pic1.zhimg.com/v2-54d623fd3f22_r.jpg&&&/figure&&p&&b&9月15日更新:&/b&&/p&&p&&b&1. Python网络爬虫:&/b&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D095aaffb59a700e60dc2dc%26chksm%3Dec5ede7bdb2beb57a823ac7e7d39f3dbae%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Python抓取婚恋网用户数据并用决策树生成自己择偶观&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db07f3c586bac58c5d4bb8%26chksm%3Dec5ede66db889d45c3cfd1ba25ff50b3fe9d4cdc82fd8b452e2dd1ed9cescene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python实现网络爬虫下载天涯论坛帖子&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db1d81f943cebea952a5a%26chksm%3Dec5ede61db4c148b576db2ea4db5b8bcec25a8%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自娱自乐写爬虫 世纪佳缘篇&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dbafc0cedb40f31d9afaf37%26chksm%3Dec5ede62db2957740ebc5a48a5ca0f5ce3aa28d1d53ba3dde4e506d80be1d916ceb%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python网络爬虫 新浪博客篇&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dbfa4cfchksm%3Dec5ede5fdb2957493fbfbd74fe89d27ac4f5e485afb88d45fe7d5%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬取github数据&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D57f137fb8c9cae%26chksm%3Dec5ede4fdb2957594cefdc228d71feb80cdc%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&识别山寨不再难!快用Python爬评论,无需再等315&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D0d9998edf0dbca2a0dbe6%26chksm%3Dec5ede4edbebd2fff22e3f9ece35cdfd260fdb6e716a6dc%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&烂片休想糊弄我,Python代理爬虫豆瓣电影数据手到擒来&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D30e71a3a1e8abc99b46e60%26chksm%3Dec5ede41dbe9f7009ed11aae27fadcdc3f168ca7af008fe3e410b72%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战一之爬取糗事百科段子&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dd10d82c89b1c6bd54ea4e%26chksm%3Dec5ede40dbbbdb7d073d3abff560bf920b84bf7cdbdacfe7%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战二之爬取百度贴吧帖子&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Ddd83f80a523fbcdd4e353%26chksm%3Dec5ede3edbbc49deebdfd598e1447641bfa0c5f66f6e%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战三之实现山东大学无线网络掉线自动重连&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db8eabe4f74b90%26chksm%3Dec5ede39db2e8b2db1bbd6b7c0e72de5af%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战四之抓取淘宝MM照片&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Def7d5e4ccf%26chksm%3Dec5ede2cdbddf83a212214fedeed51a81bfa59bbd6b17d%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战五之模拟登录淘宝并获取所有订单&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D4eec3d0be489f6b300a960%26chksm%3Dec5ede29db469cbda08a58a51c5e37fb018fscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫实战六之抓取爱问知识人问题并保存至数据库&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dafea978c831a01%26chksm%3Dec5ede2adba3ed78bda5c60bfd78bb01ec2eb80cb5ddbcaac19d406b%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python爬虫实战】为啥学Python,BOSS告诉你&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Df1bff30e92ce6e751bbb9%26chksm%3Dec5ede27dbbd2ebcbcddafc63aff9b7f729%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&详细步骤+剖码,实战拆解Python爬取智联招聘职位&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D18eceadfdc9f4e%26chksm%3Dec5ede20dbdcdabd2be2dbd62a%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬取百度图片及py文件转换exe&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D7cb79cee99ef83aaaf48%26chksm%3Dec5ede1fdbf2d9b9f1dfcdf47c683f3a7%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬虫之九派新闻&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D7cb79cee99ef83aaaf48%26chksm%3Dec5ede1fdbf2d9b9f1dfcdf47c683f3a7%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&建立爬虫代理ip池&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D853cc3fdb993a1836cc48ed%26chksm%3Dec5ede16dbd8bd31a13b51a72c576e6ad6cd8d83cf7ff93c%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬取链家北京二手房数据&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D6e4dde8ed876ce1b7fcb10%26chksm%3Dec5ede13db9d67aae5d49149ececac047c85c6b024d7%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python抓取淘宝女装信息(一)&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D1c5e91ffdc27f31d3b1635cbaa3fe0b4%26chksm%3Dec5ede09dbe4a51e0cdc33ab484a862dbda4944%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python抓取淘宝女装信息(二)&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D9dd806dc162ede8b3aa1%26chksm%3Dec5edefddbaa19e925bbdaf8ef9ab6fc4c6b10efd0fe0e7ca94a1f%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python网络爬虫入门(二)——百度贴吧&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Df688fbf6f35c%26chksm%3Dec5edefedb2619cdf1611fbbfeb9c30e445b1b65f567bscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&为了找一份Python实习,我用爬虫收集数据&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D30ebf1a4fb3daf484f0362%26chksm%3Dec5edef3db2dba8a4e63b3753c8fce7f7ef05d87c58%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python数据采集和分析告诉你为何上海的二手房你都买不起!(一)&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Df815cdbceaed45b50eab4c0%26chksm%3Dec5edeecdbd67cd96d6e8b0994a5bfd55c6c3de1642ec%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&腾讯动漫爬虫与动态随机加载反爬破解技术实战&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dc8eea0ca39572%26chksm%3Dec5edec3dbbaaa2ece6e82c323ffab946a96e9eb30c1d0ac246e75fbb865af90c90%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免登录新浪微博爬虫系列之第一篇 单博主微博及评论数据&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dcd636bchksm%3Dec5edeb8db2957aee7d7e9f5f6e418b375f%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests 库学习笔记&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Df2db9e8d26d106ce06280%26chksm%3Dec5edeb5dbb6f61fd09ff139bddd4ef6%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&BeautifulSoup 库学习笔记&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D5e6b9c5aa2f05%26chksm%3Dec5edeb6dbb8eda37e34f52db4c0c21eac1fb3e9fe00295bad11c0c9f161b001f%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyQuery 库学习笔记&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3De7044b5bda0db17d3a2434d3fafe2b2a%26chksm%3Dec5edeb3dbb4f3e0118debc4ae431c12e8c51dfc7b2aae58f0270%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Selenium 库学习笔记&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D878f1d7ec20ca80aced516efd874d2d2%26chksm%3Dec5edeacdbcd634caeea121735ada1f8f7e8%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Selenium 爬取淘宝实战练习&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D9cc3e4a6b3a98e7fb60e13fa47c4769d%26chksm%3Dec5edea9dbd2c84d205f9f1ab3ad17d5ef384b878b2f9%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&猫眼电影TOP100爬取练习&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D1f7ce36546cdd45d4a3ebdd565d59340%26chksm%3Dec5edea7dba23c80cca2fb395da50daa1d84cdca1ddscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&今日头条街拍爬取练习&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D43a698e3da3b3%26chksm%3Dec5ede95dba19d98fc1a9f492eb0f72e018b48f52ef4bb8adefb220e07%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&使用Tornado+Redis维护ADSL拨号服务器代理池&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db961e0932a5fccab29622b5cff4462ee%26chksm%3Dec5ede88db14d1dbc0a8077e0dcdfcc0a97c26aaec7e5dbbbf5eb954abscene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&告诉你中国人最爱喝什么绿茶&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D1360b02abd6a312c278ae%26chksm%3Dec5edd6cdb2c408bfb8f854cd225ce4d53a2cff74cb%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&免登录新浪微博爬虫系列之第二篇 获取关注用户数据,实现递增爬取&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Da257b3debd706d308e5b45e45f397a3c%26chksm%3Dec5edd69dbcdfcd6f6bdce5ae298d58bf92b060e0fbd6d8e%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3中BeautifulSoup的使用方法&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db9acd344e8%26chksm%3Dec5edd5fdbf0a7a04abe1d69ad95edd5f11eb991c686b%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3中PyQuery的使用方法&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D9665c8bcd92a1f12fea258c%26chksm%3Dec5edd55dbffcb3daac52a%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3中正则表达式使用方法&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dcdeded8e8c11ab4442bbab%26chksm%3Dec5edd3fdbbdde0511db1%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&利用新接口抓取微信公众号的所有文章&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dfb4dd495a0fc6409dceec%26chksm%3Dec5eddf4dbfc12bdc5eb6bf8d12c8f6b69c02eed9edc102%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&利用虚拟机练手Scrapy分布式爬虫!&/a&&/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D18f02a7b89bab3cabdbb6cd%26chksm%3Dec5eddc4db48ee7db591c5e8b3a5d8c82e058ba361%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python爬淘宝——300W淘宝文胸说明了什么&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3D4fbed6ad471fcchksm%3Dec5eddbadb2954ac79adc5fadcd1edc2cac%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Scrapy 爬取伯乐在线实战&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Ddf280adab7f3b%26chksm%3Dec5edc61dbe4bfce4c5fdd0ebc603e65f8b04%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&爬取 Stackoverflow 100 万条问答并简单分析&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Dec653ecc62%26chksm%3Dec5edc5adb29554c5ece9106abc5001338baf4d015bc3ace2d412b60b2fc3d19%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Python3中PyMongo的用法&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DMzI5NDY1MjQzNA%3D%3D%26mid%3D%26idx%3D1%26sn%3Db67efdf4034b%26chksm%3Dec5edc43db63fb93cd386%26scene%3D21%23wechat_redirect& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Selenium 抓取淘宝商品&/a& &/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//mp.weixin.qq.com/s%3F__biz%3DM}

我要回帖

更多关于 python f.readlines 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信