Menu
Woocommerce Menu

机器学习路线,初中级PHP面试题型二

0 Comment


图片 1

这个学校内的实验和培养练习项目标准启幕了,本次项目大家选取的是城市房价剖析连串,选拔Scrum敏捷开拓。作为项目总经理,笔者要统一谋算和调整总体项目标质量和进度。因此,也越来越进步了设计自身从此学习、职业和生活的意愿。

图片 2面试题型二

在依照 Kubernetes 安顿,使用 Gunicorn 运维的 Python Web
应用中,上传大文件时出现了一多样的不当,未来将一挥而就难题的思绪记录如下。

目标:Ali公司的机器学习/视觉算法岗

1、优化数据库的法子

文件上传进程

图片 3

上传文件流程

  1. 上传的文本首先达到 Kubernetes 所在的宿主机。
  2. 宿主机上的 Nginx 通过 Proxy 转载给 Kubernetes 集群中的 Ingress
    Controller,Ingress controller 也是运用 Nginx 落成的。
  3. Ingress Controller 中的 Nginx 通过 Proxy 转发给 Gunicorn。
  4. Gunicorn 会运维若干个 Worker 管理央求,所以 Gunicorn 会再转载给
    Worker。
  5. Worker 就是终极的 Python Web App

先得到二零一七年Ali算法岗的暑假实习,再争取转正。

分选最适用的字段属性,尽只怕减弱定义字段宽度,尽量把字段设置NOTNULL

错误 413 的解决

首先蒙受的是 413 Request Entity Too Large
错误,在上传进程中总是被中止(基本上每一遍都以一模二样的上传百分比被搁浅),央浼重临413,首先思念到 Nginx 对于乞求体的分寸有限制,查看 Nginx 文书档案,发现client_max_body_size 参数调节诉求体的高低,暗中认可的设置是 1mb。

client_max_body_size: Sets the maximum allowed size of the
client request body, specified in the “Content-Length” request header
field. If the size in a request exceeds the configured value, the 413
(Request Entity Too Large) error is returned to the client. Please be
aware that browsers cannot correctly display this error. Setting size
to 0 disables checking of client request body size.

先是在 Kubernetes 宿主机上 Nginx 的 http 域中插手如下配置。

client_max_body_size 1024m;

急需潜心,除了 Kubernetes 宿主机上跑的 Nginx,还要修改 Ingress
Controller 中的 Nginx。Ingress Nginx 的改换章程在 Annotation
字段中踏向如下配置。

"nginx.ingress.kubernetes.io/proxy-body-size": "1024m"

机器学习路线

利用连接来取代子查询

错误 504 的解决

重复尝试上传,发掘接口依旧会回去错误,此次是 504 Gateway Timeout,从
Chrome 的开采者工具中查看诉求,发掘上传最少要不断5分钟,接下去从 Nginx
的逾期机制入手。

在 Nginx 和 Ingress 中分别进步了读写的晚点限制,将发送的超时设置为
600s,再次回到的超时设置为 30s。

proxy_send_timeout 600s;proxy_read_timeout 30s;

再也尝试,开采依旧报同样的一无是处504,难道说还应该有其他超时字段须要设置?再一次翻开文书档案发掘了线索。

proxy_send_timeout: Sets a timeout for transmitting a request to
the proxied server. The timeout is set only between two successive
write operations, not for the transmission of the whole request. If
the proxied server does not receive anything within this time, the
connection is closed.

proxy_read_timeout: Defines a timeout for reading a response
from the proxied server. The timeout is set only between two
successive read operations, not for the transmission of the whole
response. If the proxied server does not transmit anything within this
time, the connection is closed.

此间的 send 和 read,主语不是客商端,而是 Nginx 本人,超时的时候,是
Nginx 向 Upstream 发送了文本,而等到 Upstream 管理完重返时候,超过了
proxy_read_timeout 的范围,所以需求扩展的是 read_timeout。

将宿主机上的 Nginx 和 Ingress 分别做如下配置。

proxy_send_timeout 30s;proxy_read_timeout 600s;

nginx.ingress.kubernetes.io/proxy-send-timeout: 30snginx.ingress.kubernetes.io/proxy-read-timeout: 600s

机械学习有关概念 机器学习常见难题 分类难点 回归难点 深化学习难点聚类难点

适用联合来代表手动创制的有时表

错误 502 的解决

修改好了晚点和上传文件大小的限定后,又并发了新的失实 502 Bad
Gateway,此番就不曾头脑了,由于是新的报错,下边包车型大巴修改应该是一蹴而就了的,并且亦不是地点三个限制导致的,通过查询
Nginx 和 Ingress 的日志,开采 Ingress 中有如此的报错。

2019/02/27 07:18:36 [error] 4265#4265: *19932411 upstream prematurely closed connection while reading response header from upstream, client: 172.20.0.1, server: example.com, request: "POST /upload HTTP/1.0", upstream: "http://172.0.0.1/upload", host: "example.com", referrer: "http://example.com/"

那就相比奇怪了,刚才已经修改了晚点,为何 Ingress
还恐怕有逾期的报错呢?从日记上看,恐怕是 Ingress 的 Upstream
超时了,也正是 Gunicorn,Stackoverflow 上有人碰到了就像的主题材料,答案是给
Gunicorn 设置 -t 参数。查看 Gunicorn 的文书档案,timeout 参数是如此定义的。

timeout: Workers silent for more than this many seconds are killed
and restarted.Generally set to thirty seconds. Only set this
noticeably higher if you’re sure of the repercussions for sync
workers. For the non sync workers it just means that the worker
process is still communicating and is not tied to the length of time
required to handle a single request.

也正是说,当某三个 Worker
处理公事上传诉求时候,借使在私下认可的逾期时间内没有响应
Master,就能够被杀掉,那也轻易领会为啥 Ingress 从 Upstream
获取再次来到值时候总是会被关门了。修改 Gunicorn 的安排,将过期时间设置为
600s,重新上传,难题化解。

机械学习消除难点的思绪 特征工程 指标函数 评估函数 模型

事务管理

参照文书档案

Module ngx_http_proxy_module

Ingress-Nginx Annotations

Gunicorn Configuration

Gunicorn Signals

nginx gunicorn 502 bad gateway: upstream prematurely closed connection
while reading response header from upstream

编制程序基础 Offline shell python 基本语法 廖雪峰Python3上学课程
pipenv(老妪能解为pip+virtualenv合体) numpy pandas sklearn
Online Java C++

锁定表、优化事务管理

机械学习基础 数学基础 微积分 梯度下落法

运用外键,优化锁定表

线性代数 矩阵运算

应用索引

概率论与数理总计 最大似然估算

优化查询语句

凸优化

2、语句include和require的区分是怎么样?语句include和require的差距是怎么着?

信息论

require是职责包含,也就是一旦叁个流水生产线里投入require,无论条件创建与否都会施夷光行require,当文件不设有或然不能够开垦的时候,会唤醒错误,而且会终止程序推行

LR模型

include有重回值,而require未有(大概因为这么require的快慢比include快),假使被含有的公文不设有的化,那么会唤醒一个错误,不过程序会继续试行下去

机械学习模型 价值观机器学习算法 树模型 贝叶斯模型

3、redis和memcacahe、mongoDB的区别?

深度学习 FNN RNN CNN

都以非关系型数据库,质量都特出高,但是mongoDB和memcache、redis是见仁见智的二种等级次序。后两个首要用以数据的缓存,前者首要用在询问和积存大数据方面,是最临近数据库的文书档案型的非关周密据库。

品类实战 大数目工具 Hadoop HBase Hive Spark

从数据存款和储蓄地方上来分,memcache的数目存在内部存款和储蓄器中,而redis既能积累在内部存款和储蓄器中,也足以积存的到磁盘中,达到长久化存款和储蓄的法力,memcache一旦断电,数据总体错过,redis能够接纳快速照相和AOF把多少存到磁盘中,当恢复生机时又从磁盘中读取到内部存款和储蓄器中,当物理内部存储器使用完成后,能够把数量写入到磁盘中。

机器学习工具 TensorFlow 官方网站教程:
PyTorch XGBoost

从存款和储蓄数据的连串上来分,memcache和redis存款和储蓄的方法都是键值对,只然则redis值的类型比较丰硕,有string,hash,list,setzset,而memcache主要囤积的是字符串。

项目 自然语言处理 污源短信识别 队列标明

4、PHP的主干变量类型

图像管理 ImageNet
ImageNet竞赛2017是最终一届,WebVision竞赛或接棒
Fashion-Mnist mnist->Fashion-Mnist 论文
杰出随想阅读

各样标量类型:boolean 、integer 、float (浮点型, 也称作 double)、string

github源码 微软收购了github,能够无偿搭建多少人的私库。

二种复合类型:array 、object

标签:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图