Python Lstm库函数的调用

Python Lstm库函数的调用

Talk is cheap. Show me the code.

  (Linux 创始人 Linus Torvalds在2000年08月25日给linux-kernel邮件列表的一封邮件提到的。能说算不上什么,有本事就把你的代码给我看看。)
  话不多说,直接上代码:

import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
x=[[1],[2],[3]]#特征
y=[2,4,6]#标签
x = np.array( x )
y_train = np.array(y )
x_train = np.reshape( x, (x.shape[0], x.shape[1], 1) )#Lstm调用库函数必须要进行维度转换
model = Sequential()
model.add( LSTM( 100, input_shape=(x_train.shape[1], x_train.shape[2]), return_sequences=True) )
model.add( LSTM( 20, return_sequences=False ) )
model.add( Dropout( 0.2 ) )
model.add( Dense( 1 ) )
model.add( Activation( 'linear' ) )
model.compile( loss="mse", optimizer="rmsprop" )
model.fit( x_train, y_train, epochs=200, batch_size=1)#参数依次为特征,标签,训练循环次数,小批量(一次放入训练的数据个数)
test=[[1.5]]
test=np.array(test)
test = np.reshape( test, (test.shape[0], test.shape[1], 1) )#维度转换
res = model.predict( test )
print( res )

  以上代码调用Lstm库函数拟实现让Lstm学习到从特征1,2,3到标签2,2,6的映射,类似函数 y = 2 ∗ x y = 2*x y=2x的功能,我们使用1.5来测试,看测试结果与2*1.5=3的相差程度来看模型训练的效果。
  我这运行的结果如下,实验结果每次运行会有一定的出入,但误差应该不会很大。
在这里插入图片描述
PS:
  本次运行的python版本为(Python 3.7.2):
在这里插入图片描述
  代码运行过程中出现缺包等问题可用 “pip install '需要安装的包'”(如“pip install numpy”)来解决,运行代码或者python环境配置有问题可与笔者联系(ljt_IT@163.com)。

  有使用过Python Lstm库函数的朋友应该会发现这种使用方法必须要求所有的特征必须是等长的,关于变长输入的问题将在“Python Lstm mask机制”这节中展示。

创作不易,觉得写得不错就微信扫码奖励一下吧!

Reward

  • 9
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python LSTM单对单是一种使用长短期记忆(LSTM神经网络模型来进行单对单的预测任务的方法。该方法可以学习输入序列与输出序列之间的映射关系,并用于预测新的输入对应的输出。在给定一组输入特征x和对应的标签y的情况下,可以使用PythonLSTM库函数来实现这一任务。 在使用LSTM库函数之前,需要对输入特征进行维度转换,确保每个特征的长度相同。然后使用Sequential模型来构建LSTM神经网络,添加LSTM层、Dropout层和全连接层等。通过编译模型并使用训练数据进行训练,可以得到训练好的模型。 对于单对单的预测任务,可以使用训练好的模型对新的输入进行预测。通过将新的输入进行维度转换,并使用模型的predict函数进行预测,可以得到输出的预测结果。 以上引用的代码示例演示了如何使用PythonLSTM库函数来进行单对单的预测任务。代码中使用特征和对应的标签进行训练,并通过预测函数对新的输入特征进行预测。 请注意,运行结果可能会有一定的误差,但应该不会很大。这取决于训练数据的多样性和训练次数等因素。如果在运行代码过程中遇到缺包或其他问题,可以使用pip命令进行安装,并确保Python环境的配置正确。 希望以上信息对您有所帮助。如果您有任何其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python Lstm库函数调用](https://blog.csdn.net/Jeaten/article/details/103236500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值