小编YQ.*_*ang的帖子

理解 nlp 中的 torch.nn.LayerNorm

我试图了解torch.nn.LayerNormnlp 模型的工作原理。假设输入数据是一批词嵌入序列:

batch_size, seq_size, dim = 2, 3, 4
embedding = torch.randn(batch_size, seq_size, dim)
print("x: ", embedding)

layer_norm = torch.nn.LayerNorm(dim)
print("y: ", layer_norm(embedding))

# outputs:
"""
x:  tensor([[[ 0.5909,  0.1326,  0.8100,  0.7631],
         [ 0.5831, -1.7923, -0.1453, -0.6882],
         [ 1.1280,  1.6121, -1.2383,  0.2150]],

        [[-0.2128, -0.5246, -0.0511,  0.2798],
         [ 0.8254,  1.2262, -0.0252, -1.9972],
         [-0.6092, -0.4709, -0.8038, -1.2711]]])
y:  tensor([[[ 0.0626, -1.6495,  0.8810,  0.7060],
         [ 1.2621, -1.4789,  0.4216, -0.2048],
         [ 0.6437,  1.0897, -1.5360, -0.1973]],

        [[-0.2950, -1.3698,  0.2621,  1.4027],
         [ 0.6585,  0.9811, …
Run Code Online (Sandbox Code Playgroud)

python normalization pytorch

8
推荐指数
1
解决办法
1万
查看次数

如何找到两个时间向量的不同元素?

考虑这两个时间向量:

a<-seq(as.POSIXct("2010-01-01 05:00:00"), as.POSIXct("2010-01-02 23:55:00"), by = '5 min')
b<-seq(as.POSIXct("2010-01-01 00:00:00"), as.POSIXct("2010-01-03 23:55:00"), by = '10 min')
Run Code Online (Sandbox Code Playgroud)

如何获得这两个向量之间的不同元素?我试过了:

union(setdiff(a, b), setdiff(b, a))
Run Code Online (Sandbox Code Playgroud)

但返回的值不是时间格式.

time r vector difference

5
推荐指数
1
解决办法
222
查看次数

为什么只有在“static”文件夹中的图像才能显示?

我正在构建一个图像识别 Flask 项目。我想要在网页上显示图像。这是我的项目的结构:

在此输入图像描述

如您所见,statictemplatesupload位于同一文件夹中。如果我将图像保存到static文件夹(由 VS2015 Flask 项目生成)中并编写result.html如下内容:

<!doctype html>
<h3>{{ outcome_info }}</h3>
<html lang="zh-cmn-Hans">
<head>
    <meta charset="utf-8">
    <title>Flood Classifier</title>
</head>
<body> 
    <img src="{{url_for('static', filename=thename)}}">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当调用这个Python函数时,图像将成功显示:

@app.route('/classify', methods=['POST','GET'])
def classify():
    global image
    image = np.expand_dims(image, axis = 0)
    result = model.predict(image)
    if result[0][0] == 1:
        result = "flood"
    else:
        result = "no flood"
    return render_template('result.html', thename = imagename, outcome_info = result)
Run Code Online (Sandbox Code Playgroud)

但是,如果我将图像文件保存到upload(我自己创建的)中,然后更改文件夹名称,result.html如下所示:

<!doctype html>
<h3>{{ …
Run Code Online (Sandbox Code Playgroud)

html python flask

5
推荐指数
1
解决办法
1295
查看次数

openCV函数'.read()'在远程环境中返回(False, None)

我正在远程Linux 环境中的 docker 中运行视频处理程序。我对以下代码有一些问题:

import os
import cv2
os.chdir("/home/test/wyq/object_detection/")
print(os.path.exists("test.mp4"))  # see if the file exists
print(cv2.__version__) #check cv's version
cap = cv2.VideoCapture("test.mp4") 
print(cap.read())
Run Code Online (Sandbox Code Playgroud)

结果是:

True
3.3.0
(False, None)
Run Code Online (Sandbox Code Playgroud)

这意味着 mp4 文件肯定存在并且版本openCV没问题。但它就是无法读取它。Linux 环境ffmpeg也有: 在此输入图像描述

以下是有关操作系统和 python 的一些信息:

Ubuntu 16.04.3 LTS(GNU/Linux 4.4.0-127-通用 x86_64)

Python 3.5.2(默认,2017 年 11 月 23 日,16:37:01)

[GCC 5.4.0 20160609] 在 Linux 上

我想问题可能出在ffmpeg?也许opencv未能使用现有的ffmpeg?但我不知道如何测试和解决它。有人可以给我一些建议吗?感谢您的关注。

python linux opencv ffmpeg

5
推荐指数
1
解决办法
3532
查看次数

Flask中如何分别处理多用户的请求?

我编写了以下烧瓶服务器:

from flask import Flask, render_template, request
import os

app = Flask(__name__)
# home
@app.route('/')
def home():
    return 'HOME PAGE'

@app.route('/add')
def add():
    global a
    a += 1
    return str(a)

if __name__ == '__main__':
    a = 0
    HOST = '10.10.10.10'
    PORT = 5555
    app.run(HOST, PORT)
Run Code Online (Sandbox Code Playgroud)

考虑到我的服务器有两个用户(来自不同的IP地址):A和B。当用户A通过 url 请求时10.10.10.10:5555/add,他得到结果1。之后,如果用户 B 通过 url 请求,10.10.10.10:5555/add他将得到2. 因为两个用户共享同一个变量a

但是,我希望我的服务器单独处理 A 和 B,这意味着用户 A 和 Ba以自己的方式拥有变量。A的请求不应该影响B得到的结果。例如,当用户 A 请求时,他得到1。在用户 B 请求之后,他1也应该得到。

我应该如何修改我的代码来实现这一目标?

python flask

4
推荐指数
1
解决办法
1万
查看次数

使用 ggplot 绘制数千行

我试图按data顺序绘制千行(每行由 15 个值组成)(第一行是从元素 NO.1 到 NO.15;第二行是从元素 NO.16 到 NO.30;...) ggplot。这是一个可重现的代码:

data<-data.frame(y=rnorm(95040))
p<-ggplot(data=data.frame(y=data[1:15,]),aes(x=c(1:15),y=y))+geom_line(alpha=I(1/7),size=1)
for(i in 1:(nrow(data)/15-1)){
  p<-p+geom_line(data=data.frame(y=data[(i*15+1):(i*15+15),]),aes(x=c(1:15),y=y),alpha=I(1/7),size=1)
}
Run Code Online (Sandbox Code Playgroud)

当循环运行在 时i=621,它会报告错误:

Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况以及如何解决这个绘图问题(也许使用另一种绘图方法)?

r ggplot2

1
推荐指数
1
解决办法
1214
查看次数

标签 统计

python ×4

flask ×2

r ×2

difference ×1

ffmpeg ×1

ggplot2 ×1

html ×1

linux ×1

normalization ×1

opencv ×1

pytorch ×1

time ×1

vector ×1