Django面试基础知识点总结

python面试知识点—Django基础 文章目录整体结构1.MVC模式理解, 如何使用2.如何理解MTV3.Django你熟悉的模块都有哪些?分别作用4.wsgimodel层1.如何理解Django Migrations的作用2.介绍下ORM下的N+1问题,发生的原因,以及解决方案。3.meta常用配置项4.QuerySet作用,常用QuerySet优化措施5.manager作用,如何定制?什么情况下需要定制raw sql与ORM效率对... 阅读详情

1 Django创建项目的命令:
django-admin startproject 项目名称
python manage.py startapp app名称
2Django 创建项目后,项目文件夹下的组成部分(对 mvt 的理解)?
manage.py是项目运行的入口,指定配置文件路径
__init.py 是一个空文件,作用是这个目录可以被当作包使用。
settings.py 项目整体配置文件
urls.py 是项目的路由配置文件
wsgi.py 是项目与 WSGI 兼容的 Web 服务器。

4. Django 中 models 利用 ORM 对 Mysql 进行查表的语句

all():返回模型类对应表格中的所有数据。
get():返回表格中满足条件的一条数据,如果查到多条数据,则抛异常:MultipleObjectsReturned,
查询不到数据,则抛异常:DoesNotExist。
filter():参数写查询条件,返回满足条件 QuerySet 集合数据

模糊查询 like
例:查询书名包含’传’的图书。contains

  1. contains BookInfo.objects.filter(btitle__contains=’传’)
    空查询 where 字段名 isnull

  2. BookInfo.objects.filter(btitle__isnull=False)
    范围查询 where id in (1,3,5)

  3. BookInfo.objects.filter(id__in=[1,3,5])
    比较查询 gt lt(less than) gte(equal) lte

  4. BookInfo.objects.filter(id__gte=3)
    5. exclude:返回不满足条件的数据。

  5. BookInfo.objects.exclude(id=3)
    聚合函数
    **作用:对查询结果进行聚合操作。

  6. sum count max min avg**
    aggregate:调用这个函数来使用聚合。

    1. from django.db.models import Sum,Count,Max,Min,Avg
    2. 例:BookInfo.objects.aggregate(Count(‘id’))
      count 函数
      作用:统计满足条件数据的数目。
      例:统计所有图书的数目。
  7. BookInfo.objects.all().count()
    例:统计 id 大于 3 的所有图书的数目。

  8. BookInfo.objects.filter(id__gt = 3).count()

模型类关系
一对多关系
例:图书类-英雄类
models.ForeignKey() 定义在多的类中。
2)多对多关系
例:新闻类-新闻类型类
models.ManyToManyField() 定义在哪个类中都可以。
3)一对一关系
例:员工基本信息类-员工详细信息类
models.OneToOneField() 定义在哪个类中都可以。

要注意 WSGI / uwsgi / uWSGI 这三个概念的区分
WSGI 是一种通信协议。
uwsgi 是一种线路协议而不是通信协议,在此常用于在 uWSGI 服务器与其他网络服务器的数据通信。
uWSGI 是实现了 uwsgi 和 WSGI 两种协议的 Web 服务器

8. django 开发中数据库做过什么优化?(
1.设计表时,尽量少使用外键,因为外键约束会影响插入和删除性能;
2.使用缓存,减少对数据库的访问;
3.在 orm 框架下设置表时,能用 varchar 确定字段长度时,就别用 text;
4.可以给搜索频率高的字段属性,在定义时创建索引;
5.Django orm 框架下的 Querysets 本来就有缓存的;
6.如果一个页面需要多次连接数据库,最好一次性取出所有需要的数据,减少对数据库的查询次数;
7.若页面只需要数据库里某一个两个字段时,可以用 QuerySet.values();
8.在模板标签里使用 with 标签可以缓存 Qset 的查询结果。

9. 验证码过期时间怎么设置? (2018-4-14-lxy)
将验证码保存到数据库或 session,设置过期时间为 1 分钟,然后页面设置一个倒计时(一般是前端
js 实现 这个计时)的展示,一分钟过后再次点击获取新的信息

10.django 如何提升性能(高并发)?

对一个后端开发程序员来说,提升性能指标主要有两个一个是并发数,另一个是响应时间网站性能
的优化一般包括 web 前端性能优化,应用服务器性能优化,存储服务器优化。
对前端的优化主要有:
1.减少 http 请求,减少数据库的访问量,比如使用雪碧图。
2.使用浏览器缓存,将一些常用的 css,js,logo 图标,这些静态资源缓存到本地浏览器,通过设
置 http 头中的 cache-control 和 expires 的属性,可设定浏览器缓存,缓存时间可以自定义。
3 对 html,css,javascript 文件进行压缩,减少网络的通信量。
对我个人而言,我做的优化主要是以下三个方面:
1.合理的使用缓存技术,对一些常用到的动态数据,比如首页做一个缓存,或者某些常用的数据做
个缓存,设置一定得过期时间,这样减少了对数据库的压力,提升网站性能。
2.使用 celery 消息队列,将耗时的操作扔到队列里,让 worker 去监听队列里的任务,实现异步操
作,比如发邮件,发短信
3.就是代码上的一些优化,补充:nginx 部署项目也是项目优化,可以配置合适的配置参数,提升
效率,增加并发量。
4.如果太多考虑安全因素,服务器磁盘用固态硬盘读写,远远大于机械硬盘,这个技术现在没有普
及,主要是固态硬盘技术上还不是完全成熟, 相信以后会大量普及。
5.另外还可以搭建服务器集群,将并发访问请求,分散到多台服务器上处理。
6.最后就是运维工作人员的一些性能优化技术了。

状态码:
服务器向用户返回的状态码和提示信息,常用的有:
200 OK :服务器成功返回用户请求的数据
201 CREATED :用户新建或修改数据成功。
202 Accepted:表示请求已进入后台排队。
400 INVALID REQUEST :用户发出的请求有错误。
401 Unauthorized :用户没有权限。
403 Forbidden :访问被禁止。
404 NOT FOUND :请求针对的是不存在的记录。
406 Not Acceptable :用户请求的的格式不正确。
500 INTERNAL SERVER ERROR :服务器发生错误。

django 关闭浏览器,怎样清除 cookies 和 session?
以键值对的格式写会话。

  1. request.session[‘键’]=值
    根据键读取值。
  2. request.session.get(‘键’,默认值)
    清除所有会话,在存储中删除值部分。
  3. request.session.clear()
    清除会话数据,在存储中删除会话的整条数据。
  4. request.session.flush()
  5. Session 依赖于 Cookie,如果浏览器不能保存 cookie 那么 session 就失效了。因为它需要浏览
    器的 cookie 值去 session 里做对比。session 就是用来在服务器端保存用户的会话状态。
    cookie 可以有过期时间,这样浏览器就知道什么时候可以删除 cookie 了。 如果 cookie 没有设
    置过期时间,当用户关闭浏览器的时候,cookie 就自动过期了。你可以改变
    Session 采用的是在服务器端保持状态的方案,而 Cookie 采用的是在客户端保持状态的方案。但
    是禁用 Cookie 就不能得到 Session。因为 Session 是用 Session ID 来确定当前对话所对应的服务
    器 Session,而 Session ID 是通过 Cookie 来传递的,禁用 Cookie 相当于失去了 SessionID,也
    就得不到 Session。

.Django 里 QuerySet 的 get 和 filter 方法的区别?
1输入参数
get 的参数只能是 model 中定义的那些字段,只支持严格匹配。
filter 的参数可以是字段,也可以是扩展的 where 查询关键字,如 in,like 等。

2返回值
get 返回值是一个定义的 model 对象。
filter 返回值是一个新的 QuerySet 对象,然后可以对 QuerySet 在进行查询返回新的 QuerySet
对象,支持链式操作,QuerySet 一个集合对象,可使用迭代或者遍历,切片等,但是不等于 list 类型
(使用一定要注意)。

3异常

get 只有一条记录返回的时候才正常,也就说明 get 的查询字段必须是主键或者唯一约束的字段。
当返回多条记录或者是没有找到记录的时候都会抛出异常
filter 有没有匹配的记录都可以

34.生成迁移文件和执行迁移文件的命令是什么?(2018-4-16-lxy)
python manage.py makemigrations
python manage.py migrate
35.关系型数据库的关系包括哪些类型?(2018-4-16-lxy)
 ForeignKey:一对多,将字段定义在多的一端中。
 ManyToManyField:多对对:将字段定义在两端中。
 OneToOneField:一对一,将字段定义在任意一端中。
36.查询集返回列表的过滤器有哪些?(2018-4-16-lxy)
 all() :返回所有的数据
 filter():返回满足条件的数据
 exclude():返回满足条件之外的数据,相当于 sql 语句中 where 部分的 not 关键字
 order_by():排序

37.判断查询集正是否有数据?(2018-4-16-lxy)

exists():判断查询集中否有数据,如果有则返回 True,没有则返回 False。
38.Django 本身提供了 runserver,为什么不能用来部署?(2018-4-16-lxy)
runserver 方法是调试 Django 时经常用到的运行方式,它使用 Django 自带的 WSGI Server 运
行,主要在测试和开发中使用,并且 runserver 开启的方式也是单进程 。

varchar 与 char 的区别?(2018-4-16-lxy)
char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而 varchar 则处可变长度但他
要在总长度上加 1 字符,这个用来存储位置。所以在处理速度上 char 要比 varchar 快速很多,但是对
费存储空间,所以对存储不大,但在速度上有要求的可以使用 char 类型,反之可以用 varchar 类型

Django常见面试题总结(一) 非常重要)全称PythonWebServerGatewayInterface,指定了web服务器(nginx)和web框架之间的标准接口,以提高web应用在一系列web服务器间的移植性。中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。中间件是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。... 阅读详情

相关推荐

(一)Django基础知识点

内置函数不够用,可以自定义函数1.app必须注册,app下新建templatetags文件夹,只能叫这个名称。

qq_41099494的博客 344

django查询表数据是否存在

一.查询函数 通过模型类.objects属性可以调用如下函数,实现对模型类对应的数据表的查询。 (这里objects是django为我们实现的一个模型管理类的对象) (1)get 返回满足条件的一条且只有一条数据。返回值是一个模型类的对象。 参数中写查询条件。 1)如果查到多条数据,则抛异常MultipleObjectsReturned。 2)查询不到数据,则抛异常:DoesNotEx...

e8714614luan的博客 8100

Matlab处理气象数据(六)数据的面积加权

由于地理投影导致导致每个像元实际地面面积不同,越靠近北极实际面积越小,越靠近赤道实际面积越大,如果不进行面积加权就简单平均,会导致温度较实际温度偏低。 用以下公式计算地理投影每个像元的面积: double pi = 3.1415926; double R = 6371007.181; //units - m double area = (pi/180.0)*R*R*fabs(sin(dLat1/180.0*pi) - sin(dLat2/180.0*pi)) * fabs(dLon1 - dLo

设计の诗 1万+

工作241:判断数组里面是否有某个值

<el-form class="left-right"> <el-form-item label="分发账号名称" label-width="100px"> <el-select v-model="form.index" placeholder="选择绑定的分发账号"> <el-option :disabled="item.status||RomoteData.includes(item...

歌谣的博客 301

新手必看|HDevelop核心算子快速上手,为C#移植打基础

在上一篇文章中,我们完成了C#+HALCON的开发环境搭建。但在实际工业开发中,绝不会直接在C#中编写视觉算法HDevelop可视化调试算法 → 验证效果 → 导出C#代码 → 集成到上位机。HDevelop是HALCON专属的算法调试工具,支持实时预览图像、参数动态调节、零编译运行,是新手入门和工业算法调试的核心工具。本文聚焦工业场景高频使用的核心算子,从基础操作到实战案例,手把手教你使用HDevelop;同时重点讲解算法导出C#的规范,让你调试完成的算法,能无缝移植到WinForm上位机中。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 786

虚拟机VirtualBox下载与安装、安装Ubuntu超详细图文步骤,对一些配置问题也有所写。

自己使用过两款虚拟机,相较于VMware虚拟机来说,virtuabox虚拟机所占内存更小,只有几十兆,且完全开源不收费,里面的功能与VMware基本差不多(在日常开发、学习使用完全够用)。最主要的是,在博主自己使用VMware时经常出错,而virtualbox就更稳定一些,所以这篇是针对virtualbox的安装与一些细节部分。

l1015649309的博客 4万+

Django必备知识点(图文详解)

http://127.0.0.1:8000/login/ 成功​http://127.0.0.1:8000/login django,重定向301http://127.0.0.1:8000/login/ 成功http://127.0.0.1:8000/login 成功​http://127.0.0.1:8000/login/ 失败http://127.0.0.1:8000/login/ 成功​http://127.0.0.1:8000/login 失败。

Python 2043

Zoom AI 技术架构研究:联合式方法与多模态集成

通过 Zoom AI 开放平台,企业可以自定义 AI 模块 (如法律合规审查、客户反馈分析),扩展应用场景。这种开放平台策略使企业能够根据自身需求定制 AI 功能,满足特定业务需求。

shao.bing的专栏 1318

Python 常见的基础面试题&Django面试题

学习不只有眼前的成败,还有诗和远方。Python Web Server Gateway Interface,翻译过来就是Python web 服务器网关接口,实际上就是一种协议,我们的应用(Django,Flask)实现了WSGI,就可以配合实现了WSGI(uWSGI,gunicorn)的服务器工作了。FBV和CBV本质是一样的,基于函数的视图叫做FBV,基于类的视图叫做CBV。在python中使用CBV的优点:1、提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承).

weixin_45122999的博客 1286

Spring Security 珍藏版快速入门

文章目录一、前期配置二、Spring Security 测试三、案例:自定义页面(XML配置用户信息)三、案例:自定义页面(数据库存储用户信息) 一、前期配置 (1)pom.xml <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${s

南淮北安的博客 634

【城市数据集】世界城市数据库和访问门户工具WUDAPT

简介世界城市数据库和访问门户工具WUDAPT

WW、forever的博客 1286

python面试题_300道Python面试题

Python 工程师也分不同的技术岗位,初级、中级与高级开发工程师需要具备的技能也不同。这个面试题覆盖的知识点按照由易到难罗列,分为【Python 基础】与【Python 高级】。【Python 基础】 1~3 (文件操作、模块与包、数据类型)知识点,虽然被归类为基础题,但大家在实际解题过程中还需要更多的思考,是否情况都考虑全面了。高级题部分就不用说了,都是一些在学习时有难度,不能一下就 get ...

weixin_39715538的博客 1288

骑砍2霸主MOD开发(9)-游戏大地图(MapScene)

Settlement类型由town,castle,castle_village,village,hideout五种类型组成,通过对GameEntity中添加tag实现类型的加载.大地图中军团(MobileParty)的移动速度,AI寻路,食物消耗等均和当前MobileParty所处地形有关,地形统一被定义为TerrainType,类型有森林,荒漠等.MapScene.Read("Main_map", ref sceneInitializationData, "") 装载Main_map大地图。

骑砍战团&霸主MOD开发 1624

整理100道Python面试真题,拿下月薪过万offer无压力!丈母娘都刮目相看

大家好,我是老牛。 最近很多人都在技术学习群找我咨询面试找工作的问题,这次我就专门打包整理了100道Python面试真题,希望能对大家有帮助。 1、Python基础 1.说一说你所知道的 Python 数据结构有哪些。 2.Python 中列表和元组的区别是什么?元组是不是真的不可变? 3.什么是生成器和迭代器?它们之间有什么区别? 4.什么是闭包?装饰器又是什么?装饰器有什么作用?你用过装饰器吗?请写一个装饰器的例子。 5.说一下什么是匿名函数,用匿名函数有什么好处? .

zz116196的博客 1885

仿真学习系列(三十八):Sigrity仿真之单端S参数提取

S 参数(Scattering Parameters)是高速信号分析中最基础也最常用的指标,能够全面表征走线、过孔、连接器等互连结构的高频行为。在 Sigrity PowerSI 中,Model Extraction 是最常用的 S 参数提取方式,适用于高速差分线、单端线、过孔、参考平面等各种拓扑结构。 本节将通过示例讲解如何在 PowerSI 中完成一次完整的 S 参数提取流程,包括:对象选择、端口设置、频率范围配置以及结果查看。掌握此方法后,即可对任意高速网络执行阻抗、插损、回损、串扰分析,为进一步的

案例文章,高速信号 838

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Python 综合面试题(附参考答案)

Python 综合面试题 第一部分 Python 基础 如何理解 python 中的深度拷贝和浅拷贝 浅拷贝旨在减少内存的占用,深拷贝可以在做数据的清洗、修改或者入库 的时候,对原数据进行复制一份,以防数据修改之后,找不到原数据。深浅拷 贝对于可变和不可变类型的数据不同。 不可变类型包括数值类型、字符串、布尔、None、元组 可变类型:列表、字典 对于不可变对象类型,没有深浅拷贝的说法,无论是深拷贝还是浅拷贝结 果一样的,如果对其重新赋值,也只是新创建一个对象,替换掉旧的而已。 对于可变类型来说,浅拷贝只

小颜颜6035的博客 4万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题(1)

由于这里我们只需要表单视图,所以只创建了一个类视图,post用来验证表单数据是否都存在,如果存在就把表单数据渲染到PDF模板中,经过处理后返回PDF的响应response。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传。

2401_84140734的博客 1145

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Python面试指南.PDF

随着编程的普及,很多岗位都要求掌握Python这门语言,身边也有不少小伙伴问我要一些关于Python基础/框架资料以及面试题库。把某厂工程师整理的一手资料分享给大家。也有很多小伙伴面试时候...

木野归郎 527

腾讯工程师总结的Python面试指南PDF,开放下载

最近很多小伙伴找我要一些 Python 基础 / 框架资料及面试题,于是我翻箱倒柜,把这份字节跳动大牛总结的 Python 面经总结找出来,免费共享给大家! 据说有小伙伴靠这份笔记顺利进入 TMD 华为等大厂,所以一定要好好学习这份资料!

WANGJUNAIJIAO的博客 159

Python开发面试120题

本篇文章整合了最近找到的python后端开发会用到的一些面试题

Keep_your_ear的博客 1225

python面试题_300道Python面试题,备战春招!

作者 | kenwoodjw责编 | Jane出品 | Python大本营(ID:pythonnews)过年开工回来到现在,营长每天在地铁里只看到了两家公司的广告:前两周是拉勾网,最近都是 Boss直聘,求职、跳槽到现在,你是否已经成功,offer 在手了呢?也正是这个广告,提醒了营长,是不是要给大家准备一些笔试题、学习资料... ...正所谓”知己知彼,百战不殆“,自己埋头复习,掌握...

weixin_39637975的博客 210

南京-python开发应届面试题

南京-python开发面试问题 20年毕业,技术比较菜。之前做的少儿编程,还是想趁年轻实现一下自己之前没有实现的梦想吧。记录面试问题。 为什么选择Django框架,Django框架的优点(MTV) Django框架:开源的Web应用框架,采用MVC模式。 开源框架,有完美的文档支持 解决方案众多,内部功能支持较多 简洁的URL,完整的路由系统 自助式的后台管理 拥有模板系统 缓存系统 不依赖于数据库,只需要通过简单的操作就可以更换数据库 python中的可变对象和不可变对象 可变对象:列表,字典,集

weixin_43237663的博客 205

一般Python开发面试中可能会问到的大部分问题

来源: https://blog.youkuaiyun.com/zhusongziye/article/details/79069434 python语法以及其他基础部分 可变与不可变类型;  浅拷贝与深拷贝的实现方式、区别;deepcopy如果你来设计,如何实现;  __new__() 与 __init__()的区别;  你知道几种设计模式;  编码和解码你了解过么;  列表推导list compre...

ZhangQiye1993的博客 476

python面试题大全

一、python基础面试题 1.Python的特点 Python是一种解释性语言【开发过程中没有了编译这个环节,类似于PHP或者Perl语言】 Python是交互式语言【可以在一个Python提示符,直接互动执行程序】 Python是面向对象语言【Python支持面向对象的风格或代码封装在对象的编程技术】 Python是初学者的语言【Python对于初级程序员而言,是一种伟大的语言,他支持广泛的应用程序开发,从简单的文字处理到浏览器再到游戏】 Python是跨平台的【它可以运行在Windows、Mac

Pwsifeng的博客 2670
上一篇: Get和Post的区别详解
下一篇: Django复习思维导图
Mis相遇
博客等级 码龄8年 87粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值