小编cha*_*id1的帖子

如何在Keras中使用LSTM的多个输入?

我试图预测一个人口的用水量.

我有1个主要输入:

  • 水量

和2个次要输入:

  • 温度
  • 雨量

从理论上讲,它们与供水有关.

必须说每个降雨和温度数据都与水量相对应.所以这是一个时间序列问题.

问题是我不知道如何从一个.csv文件中使用3个输入,每个输入有3列,每个输入,如下面的代码所示.当我只有一个输入(例如水量)时,网络或多或少地使用此代码,但不是当我有多个输入时.(因此,如果您使用下面的csv文件运行此代码,则会显示维度错误).

阅读一些答案:

似乎很多人都有同样的问题.

代码:

编辑:代码已更新

import numpy
import matplotlib.pyplot as plt
import pandas
import math

from keras.models import Sequential
from keras.layers import Dense, LSTM, Dropout
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error


# convert an array of values into a dataset matrix

def create_dataset(dataset, look_back=1):
    dataX, dataY = [], []
    for i in range(len(dataset) - look_back - 1):
        a = dataset[i:(i + look_back), 0]
        dataX.append(a)
        dataY.append(dataset[i + look_back, …
Run Code Online (Sandbox Code Playgroud)

python neural-network deep-learning keras

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

在Keras中创建自定义指标时,y_true和y_pred是什么?

我想在Keras中实现我的自定义指标.根据该文件,我的自定义指标应被定义为需要作为输入的两个张量,函数y_predy_true,并返回一个值张.

但是,我对这些张量中确切包含的内容y_pred以及y_true优化运行时的内容感到困惑.它只是一个数据点吗?这是整批吗?整个时代(可能不是)?有没有办法获得这些张量的形状?

有人可以指向一个值得信赖的地方,我可以获得这些信息吗?任何帮助,将不胜感激.不确定是否相关,但我正在使用TensorFlow后端.


到目前为止我尝试过的事情,为了回答这个问题:

  • 检查Keras指标文档(没有解释这些张量是什么).
  • 检查Keras指标源代码,并通过查看其他指标的Keras实现来尝试理解这些张量(这似乎表明y_true并且y_pred有整个批次的标签,但我不确定).
  • 读这些计算器的问题:1,2,3,和其他(没有回答我的问题,大部分都集中在OP没有明确认识的张量,并使用会话期间张量计算出的值之间的差).
  • 打印的值y_true,并y_pred在优化过程中,通过定义这样的指标:
    def test_metric(y_true, y_pred):
        y_true = K.print_tensor(y_true)
        y_pred = K.print_tensor(y_pred)
        return y_true - y_pred
Run Code Online (Sandbox Code Playgroud)

(遗憾的是,这些在优化过程中不会打印任何内容).

keras tensorflow

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

如果太短,是否自动将 Python 列表扩展到 N 个元素?

N如果列表少于元素,Python 中自动将列表扩展到元素的最佳方法是什么N

也就是说,让我们有我有这个字符串:s = "hello there"。如果我这样做:

x, y, z = s.split()
Run Code Online (Sandbox Code Playgroud)

我会得到一个错误,因为s.split()返回一个包含两个元素的列表,但我将它分配给 3 个变量。我想要的是z被分配None

我知道我可以通过艰难的方式做到这一点:

l = s.split()
while len(l) < 3:
    l.append(None)
x, y, z = l
Run Code Online (Sandbox Code Playgroud)

但必须有比这更优雅的东西。

python list

22
推荐指数
4
解决办法
2565
查看次数

miniconda 和 miniforge 有什么区别?

miniforge安装程序是一个相对较新,社区领导,最小畅达安装程序,(如在其自述说)“可直接与Miniconda,与添加的功能,畅达锻是默认的通道”。

目前还不清楚 miniforge 和 Miniconda 之间有什么不同,或者 miniforge 用例是什么。

如果 miniforge 与 Miniconda 相同,只是conda-forge默认情况下它只使用通道,为什么要创建一个完全不同的安装程序 - 为什么不使用 miniconda 并添加conda-forge作为第一个使用的通道~/.condarc

如果 miniforge 与 Miniconda 不同,那么两者有什么不同?

python conda miniconda conda-forge

18
推荐指数
2
解决办法
9970
查看次数

什么时候从perl中删除了-P选项?

-P选项何时从perl中删除的?

-P使您的脚本在Perl编译之前通过C预处理程序运行。(由于双方的意见和cpp指令以#字符开头,你应该避免启动与C预处理器,如确认的话评论ifelsedefine)。

我只是对它何时被移除感到好奇。

perl

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

为什么卷积神经网络中的卷积滤波器会翻转?

我不明白为什么在使用卷积神经网络时需要翻转过滤器。

根据千层面文件,

翻转过滤器:布尔(默认值:真)

是否在将过滤器滑过输入之前翻转过滤器,执行卷积(这是默认设置),或者不翻转它们并执行相关。请注意,对于 Lasagne 中的其他一些卷积层,翻转会产生开销,并且默认情况下处于禁用状态 - 使用从另一层学习的权重时请查看文档。

这意味着什么?在任何神经网络书籍中,我从未读过关于卷积时翻转滤波器的内容。请有人澄清一下好吗?

convolution neural-network theano conv-neural-network lasagne

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

Python拒绝多次遍历文件中的行

我正在编写一个程序,要求我多次遍历文件的每一行:

loops = 0
file = open("somefile.txt")
while loops < 5:
    for line in file:
        print(line)
    loops = loops + 1
Run Code Online (Sandbox Code Playgroud)

为了简洁起见,我假设我总是需要遍历文件并打印每行5次.该代码与我在程序中实现的较长版本具有相同的问题:文件只迭代一次.之后,print(line)文件什么都不做.为什么是这样?

python

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

在 Python 中求解 x 的高度非线性方程

我正在尝试解决 dB 的以下等式(为简单起见,我在问题标题中将 dB 表示为 x):

方程的图像

等式中的所有其他项都是已知的。我尝试使用 SymPy 来象征性地求解 dB,但我不断收到超时错误。我也尝试使用fminboundfromscipy.optimize但 dB 的答案是错误的(请参阅下面使用该fminbound方法的Python 代码)。

有谁知道使用 Python 求解 dB 方程的方法吗?

import numpy as np

from scipy.optimize import fminbound

#------------------------------------------------------------------------------
# parameters

umf = 0.063         # minimum fluidization velocity, m/s
dbed = 0.055        # bed diameter, m
z0 = 0              # position bubbles are generated, m
z = 0.117           # bed vertical position, m
g = 9.81            # gravity, m/s^2

#------------------------------------------------------------------------------
# calculations

m = 3                       # …
Run Code Online (Sandbox Code Playgroud)

python numpy sympy scipy python-3.x

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

使用NLTK对来自OCR的未分裂单词进行标记

我正在使用NLTK处理从PDF文件中提取的一些文本.我可以完整地恢复文本,但是有很多实例没有捕获单词之间的空格,所以我得到的单词ifI不是代替if I,thatposition而是代替that positionandhe's代替and he's.

我的问题是:如何使用NLTK查找它无法识别/未学习的单词,并查看是否存在更可能发生的"附近"单词组合?有没有更优雅的方式来实现这种检查,而不是简单地通过无法识别的单词,一次一个字符,拆分它,并查看它是否产生两个可识别的单词?

python ocr split tokenize nltk

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

在Flask中设置静态文件夹路径

好像我的静态文件没有正确提供.这就是它现在的样子:

myApp
    __init__.py
    static
       img
       js
         bootstrap.min.js
       etc.
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序配置在我的__init__.py外观:

app = Flask(__name__, static_url_path="", static_folder="static")
Run Code Online (Sandbox Code Playgroud)

这是错误:

127.0.0.1 - - [01/Dec/2014 13:12:01] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)

至于url路由,没有问题,localhost/home路由到home,localhost /联系路由联系等等.但是没有找到静态文件:(我错过了什么?

注意:我在Mac上托管这个,纯粹是本地主机

这是我的__init__.py主要方法:

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
Run Code Online (Sandbox Code Playgroud)

运行方式:

python __init.py__
Run Code Online (Sandbox Code Playgroud)

python flask

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