我有一个问题,涉及使用pybrain进行时间序列的回归.我计划在pybrain中使用LSTM层来训练和预测时间序列.
我在下面的链接中找到了示例代码
在上面的示例中,网络能够在训练后预测序列.但问题是,网络通过将其一次性输入到输入层来接收所有顺序数据.例如,如果训练数据各有10个特征,则10个特征将同时被馈送到10个输入节点.
根据我的理解,这不再是时间序列预测我是对的吗?由于每个功能被馈入网络的时间没有区别?如果我错了,请纠正我.
因此,我想要实现的是一个只有一个输入节点和一个输出节点的循环网络.输入节点是在不同时间步骤顺序馈送所有时间序列数据的地方.将训练网络以在输出节点处再现输入.
您能否建议或指导我构建我提到的网络?非常感谢你提前.
我有一个numpy数组中的数据:
a = np.arange(100)
a = a.reshape((20,5))
Run Code Online (Sandbox Code Playgroud)
当我输入
a[:10]
Run Code Online (Sandbox Code Playgroud)
它返回
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24],
[25, 26, 27, 28, 29],
[30, 31, 32, 33, 34],
[35, 36, 37, 38, 39],
[40, 41, 42, 43, 44],
[45, 46, 47, 48, 49]])
Run Code Online (Sandbox Code Playgroud)
现在我决定将数组重塑为3d数组.
b = a.reshape((5,4,5))
array([[[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, …Run Code Online (Sandbox Code Playgroud) 我在 Keras 中有卷积神经网络。我需要知道每层特征图的尺寸。我的输入是 28 x 28 像素图像。我知道有一种方法可以计算这个我不知道如何。下面是我使用 Keras 的代码片段。
img_rows, img_cols = 28, 28
nb_filters = 32
nb_pool = 2
nb_conv = 3
model = Sequential()
model.add(Convolution2D(nb_filters, nb_conv, nb_conv, border_mode='valid', input_shape=(1, img_rows, img_cols)))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))
model.add(Convolution2D(64, nb_conv, nb_conv, border_mode='valid'))
model.add(Activation('relu'))
model.add(Convolution2D(64, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
Run Code Online (Sandbox Code Playgroud)
归根结底,这就是我想画的。谢谢。
python machine-learning neural-network conv-neural-network keras
我已经使用qt designer和pyqt构建了一个主窗口GUI。随着程序变得越来越复杂,仅使用一个类可能会导致太多方法和属性无法管理。我认为我应该构造新的类以使事情更易于管理。
我的第一个问题是,如何知道何时为应用程序添加新类?有一般经验法则吗?为新的窗口/标签添加新类是个好主意吗?
我的第二个问题是,如果我为应用程序添加了新类,那么我的新类如何获得对在Qt设计器中设计的Ui_MainWindow设计文件的访问权限?以下是我的主窗口的示例代码。它是一个显示当前时间的简单时钟。可以说,如果我想为时钟显示本身创建一个类,如何使用OOP有效地重写代码?
from PyQt4 import QtGui
from myMainWindowUI import Ui_MainWindow
class MyMainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super(MyMainWindow, self).__init__(*args, **kwargs)
self.setupUi(self)
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.Time)
self.timer.timeout.connect(self.Date)
self.timer.start(1000)
self.lcdNumber_time.setDigitCount(8)
self.lcdNumber_time.display(strftime("%H"+":"+"%M"+":"+"%S"))
self.label_dynamic_date.setText(strftime("%Y"+" "+"%B"+" "+"%d"+", "+"%A"))
def Time(self):
self.lcdNumber_time.display(strftime("%H"+":"+"%M"+":"+"%S"))
def Date(self):
self.label_dynamic_date.setText(strftime("%Y"+" "+"%B"+" "+"%d"+", "+"%A"))
app = QtGui.QApplication(sys.argv) # A new instance of QApplication
form = MyMainWindow()
form.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud) 我已经在我的电脑上训练了imdb_lstm.py.现在我想通过输入我自己的一些文本来测试训练有素的网络.我该怎么做?谢谢!
python ×5
keras ×2
arrays ×1
class ×1
lstm ×1
numpy ×1
oop ×1
prediction ×1
pybrain ×1
pyqt4 ×1
qt-designer ×1
time-series ×1