使用LSTM网络做函数区分(二分类)

双向长短期记忆网络(Bi-LSTM) 在开始之前,首先区分下均命名为RNN,新手很容易混淆的两大神经网络:循环神经网络(Recurrent Neural Network,RNN)和递归神经网络(Recurssion Neural Network,RNN)。 递归神经网络(RNN)是空间上的展开,处理的是树状结构的信息,模型结构如下: 循环神经网络(RNN)是时间上的展开,擅长处理以时间序列数据作为输入的预测问题, 其原因在于 RNN 的网络结构可以处理时间序列数据之间的相关性。模型结构如图所示,包括输入层 x、隐藏层 h、输出层 o,在隐藏层 阅读详情

       做这个简单LSTM网络的原因,尝试做一个多分类的网络,但是尝试了半个多月了,结果一直十分不理想,因为是初学者,难免对自己是否真的正确使用Tensorflow搭建LSTM网络,因此决定使用之前同样的LSTM网络来对数学函数进行预测分类,如果能正确分类,即可确定逻辑正确。

       数据:自己使用numpy生成的一组sin函数和tan函数值,x的范围随机,使用np.linspace()等分割,分割段数最大为100(不定长),然后数据文件名'-'后面的数字就是标签,sin是0,tan是1
       由于很简单就不贴代码了,但是为了写的更清楚,我直接把数据上传到网盘了,百度云盘下载地址:数据,数据集比较小,大家可以自行生成更大的数据集 很抱歉数据没有了,我也懒的找了,直接将生成数据代码更改一下并将代码里面的一些小问题改一下,同时将预测一个数据改成多个数据。下面就直接贴出代码:

#使用LSTM网络看是否可以成功分类sin函数和tan函数
import pandas as pd
import numpy as np
import os
import tensorflow as tf
import random
import math

num_steps = 100
batch_size = 2
state_size = 10
num_features = 1
num_classes = 2
learning_rate = 1e-4

# 生成数据的函数
def get_data_set(data_num):
    label = np.array([random.randint(0,1) for _ in range(data_num)])
    data = np.zeros((data_num,num_steps),dtype=np.float32)
    # 数据随机产生并填充,原来是再末尾填充0,直接生成数据的话我就随机填充,更符合实际情况
    for data_index in range(data_num):
        if label[data_index]==1:
            data_list=[i for i in map(math.tan,np.linspace(random.random()*math.pi,random.randint(15,100),random.randint(50,100)))]
        else:
            data_list=[i for i in map(math.sin,np.linspace(random.random()*math.pi,random.randint(15,100),random.randint(50,100)))]
        for i in range(num_steps-len(data_list)):
            data_list.insert(random.randint(0,len(data_list)),0)
        data[data_index] = np.array(data_list)
    return data,label

#数据在读取时已经做好了填充,且已是打乱的数据
def getDataAndLabel(raw_data,raw_label,num_steps,batch_size):
    data = np.zeros([batch_size,num_steps,num_features],np.float32)
    labels = np.zeros([batch_size,1],np.int32)
    # 根据batch_size确定单epoch训练步数
    for step_index in range(len(raw_data)//batch_size):
        data = raw_data[step_index*batch_size:(step_index+1)*batch_size].reshape(batch_size,-1,num_features)
        labels = raw_label[step_index*batch_size:(step_index+1)*batch_size].reshape(batch_size,1)
        yield data,labels

def genEpochs(num_epochs,raw_data,raw_label,num_steps,batch_size):
    for i in range(num_epochs):
        yield getDataAndLabel(raw_data,raw_label,num_steps,batch_size)

def buildNewLSTMGraph(
    num_steps = num_steps,
    batch_size = batch_size,
    state_size = state_size,
    learning_rate = learning_rate):
    #初始化视图
    tf.reset_default_graph()
    #给定输入和标签管道
    x = tf.placeholder(shape=[batch_size,num_steps,num_features],dtype=tf.float32)
    y = tf.placeholder(shape=[batch_size,1],dtype=tf.int32)
    #使用静态list作为输入和标签,squeeze返回的是一个张量
    x_temp = tf.squeeze(tf.split(value=x,num_or_size_splits=num_steps,axis=1),axis=2)
    rnn_inputs = list()
    rnn_labels = list()
    for i in range(x_temp.shape[0]):
        rnn_inputs.append(x_temp[i])
    for i in range(y.shape[0]):
        rnn_labels.append(tf.one_hot(y[i],depth=num_classes))
    #定义网络节点
    cell = tf.nn.rnn_cell.BasicLSTMCell(num_units=state_size,state_is_tuple=True)
    init_state = cell.zero_state(batch_size,tf.float32)
    rnn_outpus, final_state = tf.contrib.rnn.static_rnn(cell=cell,initial_state=init_state,inputs=rnn_inputs)
    #使用LSTM的最后状态对函数进行预测
    with tf.variable_scope('fullyConnLayer'):
        #第一层全连接层,输出状态为64种
        W1 = tf.get_variable('W1',shape=[state_size,64])
        b1 = tf.get_variable('b1',shape=[64],initializer=tf.constant_initializer(dtype=tf.float32,value=0))
        tempState1 = [tf.matmul(final_state[1],W1) + b1]
        tempState1 = tf.nn.relu(tempState1)
        #第二层全连接层,输出状态为32种
        W2 = tf.get_variable('W2',shape=[64,32])
        b2 = tf.get_variable('b2',shape=[32],initializer=tf.constant_initializer(dtype=tf.float32,value=0))
        tempState2 = [tf.matmul(tempState1[0],W2) + b2]
        tempState2 = tf.nn.relu(tempState2)
        #第三层全连接层,进行分类
        W3 = tf.get_variable('W3',shape=[32,num_classes])
        b3 = tf.get_variable('b3',shape=[num_classes],initializer=tf.constant_initializer(dtype=tf.float32,value=0))
    logits = [tf.matmul(tempState2[0],W3) + b3]
    #softmax的话则计算交叉熵
    losses = tf.nn.softmax_cross_entropy_with_logits_v2(labels=rnn_labels,logits=logits)
    total_loss = tf.reduce_mean(losses)
    #优化器的选择
    train_step = tf.train.AdamOptimizer(learning_rate).minimize(losses)
    return dict(
        x = x,
        y = y,
        init_state = init_state,
        final_state = final_state,
        total_loss = total_loss,
        train_step = train_step,
        pred = tf.nn.softmax(logits),
        labels = rnn_labels,
    )

#这一部分是用来做最初的训练,主要是将模型数据保存下来以便后面继续训练
#我比较懒,没有保存交叉熵最小的几个模型,大家如有需要自己加个判断即可
def train_rnn(g,num_epochs,batch_size=batch_size,num_steps=num_steps):
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        train_losses = []
        for idx,epoch in enumerate(genEpochs(batch_size=batch_size,num_epochs=num_epochs,num_steps=num_steps,
                                            raw_data=dataArray,raw_label=labelArray)):
            train_loss = 0
            step = 0
            training_state = None
            for X,Y in epoch:
                step +=1
                feed_dict = {g['x']:X,g['y']:Y}
                if(training_state != None):
                    feed_dict[g['init_state']] = training_state
                train_loss_, training_state,_ = sess.run([g['total_loss'],
                                                              g['final_state'],
                                                              g['train_step']],
                                                             feed_dict = feed_dict)
            train_loss += train_loss_
            print('epoch: {0}的平均损失值:{1}'.format(idx, train_loss/step))
            train_losses.append(train_loss/step)
        #保存模型
        saver=tf.train.Saver(max_to_keep=1)
        path = saver.save(sess,'Saved_model/funcClassify')
        print("保存至",path)
    return train_losses

# 生成训练数据
dataArray,labelArray=get_data_set(200)
g = buildNewLSTMGraph()
train_rnn(g,3)

#执行下面代码可以对保存的神经网络进行再次训练
g = buildNewLSTMGraph()
sess = tf.Session()
sess.run(tf.global_variables_initializer())
num_epochs = 500
with sess:
    saver = tf.train.Saver()
    saver.restore(sess,'Saved_model/funcClassify')
    train_losses = []
    for idx,epoch in enumerate(genEpochs(batch_size=batch_size,num_epochs=num_epochs,
                                         num_steps=num_steps,raw_data=dataArray,raw_label=labelArray)):
        train_loss = 0
        step = 0
        prediction = list()
        labels = list()
        training_state = None
        for X,Y in epoch:
            step +=1
            feed_dict = {g['x']:X,g['y']:Y}
            if(training_state != None):
                feed_dict[g['init_state']] = training_state
            train_loss_, training_state,_ = sess.run([g['total_loss'],
                                                          g['final_state'],
                                                          g['train_step']],
                                                         feed_dict = feed_dict)
        train_loss += train_loss_
        print('epoch: {0}的平均损失值:{1}'.format(idx, train_loss/step))
    #保存模型    
    saver=tf.train.Saver(max_to_keep=1)
    path = saver.save(sess,'Saved_model/funcClassify')
    print('模型已保存到',path)

      由于数据集较小不太好训练,不过正好练习了一下手动调学习率,训练到300多epochs时交叉熵出现第一次骤减,最终以1e-4的学习率,交叉熵在0.000135左右抖动,将学习率降到1e-5时,经过1000epochs左右降至0.000118左右,后面再对学习率进行调整就请大家自己尝试了(其实是因为我又改小了,然后一直没训练出来,还在一直增大,如下图)。

       仅看交叉熵没什么意思,对网络进行测试一下,看是否能成功区分两个函数的输入,只需要对上述代码进行简单调整,并再次随机生成数据(如果自行生成数据,则直接留一定比例数据做测试数据即可),修改部分如下:

#生成测试数据
dataArray,labelArray=get_data_set(50)

#下面则段代码只和上面有一点点改动,我已经标出
g = buildNewLSTMGraph()
sess = tf.Session()
sess.run(tf.global_variables_initializer())
# num_epochs = 1即可,因为模型没有训练,预测结果不会变,这里是给大家看一下确实不会变
num_epochs = 5
with sess:
    saver = tf.train.Saver()
    saver.restore(sess,'Saved_model/funcClassify')
    train_losses = []
    for idx,epoch in enumerate(genEpochs(batch_size=batch_size,num_epochs=num_epochs,
                                         num_steps=num_steps,raw_data=dataArray,raw_label=labelArray)):
        train_loss = 0
        step = 0
        prediction = list()
        labels = list()
        training_state = None
        for X,Y in epoch:
            step +=1
            feed_dict = {g['x']:X,g['y']:Y}
            if(training_state != None):
                feed_dict[g['init_state']] = training_state
            #将g['train_step']替换为g['pred'],这样网络将不会进行优化,只用于预测
            train_loss_, training_state,pred = sess.run([g['total_loss'],
                                                          g['final_state'],
                                                          g['pred']],
                                                         feed_dict = feed_dict)
        train_loss += train_loss_
        #将预测结果输出,使用argmax获得类标签,每次只输出最后两个预测结果
        print(pred)
        print('epoch: {0}的平均损失值:{1}'.format(idx, train_loss/step))  

这是我自己的预测结果:

       可以看出能够准确对其进行分类的,无疑让我心安了一点点。

长短期记忆网络(LSTM)和生成对抗网络(GAN) 该模型能够学习正常交易数据的分布,并生成新的样本来提高判别器的识别能力,从而提高异常检测的准确性。生成器:首先使用全连接层将输入的随机噪声映射到更高维度,然后通过批量归一化和激活函数进行处理,最后通过另一个全连接层生成模拟的交易数据。训练过程:在每个训练批次中,首先训练判别器区分真实数据和生成数据,然后固定判别器的参数,训练生成器欺骗判别器。判别器:使用LSTM层和全连接层构建,输入为交易数据,输出为数据是否正常的概率。生成器:使用全连接层和批量归一化层构建,输入为随机噪声,输出为生成的交易数据。 阅读详情

相关推荐

【37】使用LSTM实现文本分类、图像分类、图像生成任务

如有错误,恳请指出。 在上一篇文章中,使用了LSTM来预测时序信息,但是在自然语言处理领域中,LSTM可以用来进行文本预测,大体上的思路是将batch个文本,每个文本的seq个词汇编码为hidden dim长度的特征向量,所以最后的特征维度是[seq, batch, hidden dim],就可以作为输入数据。提取LSTM最后的一个隐藏单元[batch, hidden dim],再使用一个全连接层就可以实现分类。 而对于图像来说,其信息维度都很熟悉了,[batch, c, h, w],那么其实也可以是将.

Clichong 1万+

Keras:我的第一个LSTM二分类网络模型

目标 使用Keras训练一个简单的LSTM二分类网络模型,用于找到数列中是否包含3个连续递增或者递减的子数列。比如 [ 0.1, 0.2, 0.3, 0.5, 0.3, 0.2 ] 数列对应的标签为[ 0, 0, 1, 1 , 0, 1 ]。 特诊 设 [x1, x2, x3]中x3的特诊为: [ x3, x2, x2 > x1 ? 1 : 0 ]。即数列中的当前数据与前一个数据,以前前一个数据的状态(前一个数据递增状态为1,递减状态为0)。 数据生成 数据生成代码如下所示: import pand

chenxiemin的专栏 1万+

LSTM分类预测 | Matlab基于长短期记忆网络分类预测

LSTM分类预测 | Matlab基于长短期记忆网络分类预测

前程算法屋的博客 174

用LSTM实现sin和tan的二分类

用LSTM实现sin和tan的二分类读取数据(load_data.py)定义RNN-LSTM模型(model.py)定义训练过程(train_model.py)主程序(main.py) 在基于CNN程序的基础上用长短时记忆网络对sin和tan离散数据进行了分类,采用单向单层LSTM网络,其中,对nn.LSTM()函数在程序中进行了详细解释。 读取数据(load_data.py) 可以调用此部分读取...

weixin_43125467的博客 2577

1.22、基于长短期记忆网络的心电图(ECG)信号分类(matlab)

使用双向 LSTM 层 bilstmLayer,其前向和后向检测序列将输入大小指定是大小为 1 的序列,指定输出大小为 50 的一个双向 LSTM 层,并输出序列的最后一个元素步骤总结:数据准备收集具有标记的ECG信号数据集,包括正常心电图和心律失常等类别的数据。确保数据集质量和标记的准确性。数据预处理对ECG信号进行必要的预处理,如去噪、滤波、标准化等,以提高数据质量。数据格式转换。

XU157303764的博客 2124

lattice 黑盒子的生成和使用(Creating Your Own Black Box Modules)

很多客户,特别是外包项目,需要做黑盒子,防止他人看到源码,那么这就需要对相关的源码打包加封了。diamond help 说的也是模糊模糊的,这次给出实际验证过的流程。 1.先将要加封的模块间一个工程,建好工程,写好代码之后,模块名字叫做crosslink(这个使用黑盒子的时候要用),代码如下: module crosslink( output wire[3:0] led, input wire clk, input wire reset ); reg [29:0] cnt; reg [3:0] led1;

qq_39633876的博客 1481

基于LSTM进行简单二分类

self.rnn = nn.GRU(input_size = embedding维度,hidden_size=RNN维度。self.embedding = nn.Embedding(词库大小, 词向量维度, padding_idx=0)x = {token1:id1} --------- 用于将文本token进行数值转换,传给模型。id_y = {id1:y1} --------- 用于将模型传出的结果转换中午标签。y_id = {y1:id1} --------- 用于将标签转换数值 传给模型。

m0_67458511的博客 1741

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 382

长短期记忆网络(LSTM)简介

长短期记忆网络通过其独特的门控机制,有效地解决了传统 RNN 在处理长序列数据时的梯度消失问题,使其在许多任务中表现优异。理解其基本结构和工作原理,有助于我们更好地应用 LSTM 来解决实际问题。希望这篇博客能帮助你更好地理解卷积神经网络。如果帮到了你,

qq_28791753的博客 2515

Spring AI RAG 生产级实战:从 0 构建企业智能知识库系统

Spring AI🎯统一的 API 抽象:屏蔽不同 AI 服务商的差异🎯开箱即用的集成:支持主流大模型和向量数据库🎯Spring 生态融合:与 Spring Boot、Spring Data 无缝集成🎯企业级特性:事务管理、监控、安全等RAG 架构:检索 + 增强 + 生成,解决 LLM 局限性Spring AI:统一的 API 抽象,简化 AI 应用开发向量数据库:pgvector 适合中小规模,Milvus 适合大规模文档处理:加载 → 分块 → 向量化 → 存储检索优化。

一起修行,不孤单。这里有编程语言、开发工具、学习方法论和踩坑笔记。用简单的话说复杂的事,陪你从小白到进阶。周更干货,欢迎一起成长! 408

Livox MID360与Fast-LIO2的实战部署指南:从驱动安装到点云处理

本文提供Livox MID360激光雷达与Fast-LIO2激光惯性里程计从零开始的实战部署指南。详细介绍了Ubuntu系统下的驱动安装、网络配置、点云数据验证以及Fast-LIO2算法的编译、参数配置与联合启动流程,帮助开发者快速搭建移动机器人SLAM系统,并包含关键参数调优与常见故障排查方法。

java5的博客 1025

长短期记忆网络LSTM识别验证码、车牌识别

长短期记忆网络LSTM-Seq2Seq识别验证码 使用LSTM结合Seq2Seq结构实现验证码识别 验证码样式如下图: 代码生成42000张验证码(train:40000, test:2000),验证码有清晰的,有低度模糊的,也有中度模糊的,位置也随机。 验证码和标签采用DataLoader加载,标签采用4*10的one-hot编码,网络输出每个图片也是4*10,训练30轮即达到了正确率100%...

吉良的博客 6168

如何在 Ubuntu 24.04 或 22.04 上安装和使用 GDebi

本文介绍了在Ubuntu 24.04上安装和使用GDebi的方法。GDebi是DPKG的轻量级替代品,能够自动解析并安装.deb包的依赖项。文章详细说明了系统更新、安装GDebi的步骤,并演示了通过GUI和CLI两种方式安装.deb包的操作流程。此外,还提供了验证安装和卸载包的方法。GDebi虽然非必需,但为用户提供了处理依赖项的另一种选择,适合需要安装本地Debian包的用户。

山岚的运维笔记 1993

长短期记忆网络LSTM

长短期记忆网络LSTM

蔡林浩的博客 1382

windows server 2012 AD 活动目录部署系列(十一)安装证书服务器(ADCS)

本篇博文介绍如何在AD域控上安装证书服务器,本实验域环境:yun.com。 步骤如下: 1、打开“服务器管理器”,点击“添加角色和功能”,如下图: 2、点击下一步, 3、点击下一步, 4、点击下一步, 5、点击“Active Directory证书服务”,弹出功能选择,点击"添加功能",如下图,

白昼的技术专栏 2万+

在 ABAP Cloud 里优雅读取与解析 XML:用 sXML Reader 把接口数据落成结构化 ABAP

ABAP Cloud中XML解析实践 摘要:本文介绍了在ABAP Cloud环境下解析XML数据的最佳实践。针对企业系统中常见的XML格式数据,文章推荐使用sXML库中的CL_SXML_STRING_READER进行流式解析,而非传统的DOM方式。重点解析了命名空间(Namespace)、属性(Attribute)和CDATA等关键概念的处理方法,并比较了两种读取属性的策略:通扫所有属性(NEXT_ATTRIBUTE)和精准取值(GET_ATTRIBUTE_VALUE)。文章提供了完整的ABAP Cloud

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 191

“LSTM的参数解释,LSTM

LSTM的参数解释 LSTM总共有7个参数:前面3个是必须输入的 1:input_size: 输入特征维数,即每一行输入元素的个数。输入是一维向量。如:[1,2,3,4,5,6,7,8,9],input_size 就是9 2:hidden_size: 隐藏层状态的维数,即隐藏层节点的个数,这个和单层感知器的结...

吉良的博客 5万+

Linux系统安装部署Redis完整教程(图文详解)

最近需要在Linux服务器安装部署Redis,参考了网上很多的文章,比较零碎,所以我自己写了一篇完整的Redis安装部署文档,在部署Redis之前重装了我的华为服务器,就是为了给大家一步步阐述我的操作过程,配合图文进行讲解更加通俗易懂!

黄团团的个人博客 6693

AI算法03-长短期记忆网络–Long short-term memory | LSTM

长短期记忆网络——通常被称为LSTM,是一种特殊的RNN,能够学习长期依赖性。由 Hochreiter 和 Schmidhuber(1997)提出的,并且在接下来的工作中被许多人改进和推广。LSTM 在各种各样的问题上表现非常出色,现在被广泛使用。LSTM 被明确设计用来避免长期依赖性问题。长时间记住信息实际上是 LSTM 的默认行为,而不是需要努力学习的东西!所有递归神经网络都具有神经网络的链式重复模块。在标准的 RNN 中,这个重复模块具有非常简单的结构,例如只有单个 tanh 层。

yangguangjiujiu99的专栏 847

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

PyTorch 中的 LSTM模型参数解释

LSTM的参数解释 LSTM总共有7个参数:前面3个是必须输入的 1:input_size: 输入特征维数,即每一行输入元素的个数。输入是一维向量。如:[1,2,3,4,5,6,7,8,9],input_size 就是9 2:hidden_size: 隐藏层状态的维数,即隐藏层节点的个数,这个和单层感知器的结构是类似的。这个维数值是自定义的,根据具体业务需要决定,如下图: input_...

rogerfang的博客 6万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

深度学习模型:LSTM (Long Short-Term Memory) - 长短时记忆网络详解

摘要: LSTM(长短时记忆网络)是解决RNN梯度消失问题的经典模型,通过细胞状态和三个门控机制(遗忘门、输入门、输出门)实现长序列记忆。其核心公式C_t = f_t ⊙ C_{t-1} + i_t ⊙ C̃_t能选择性保留信息。相比GRU,LSTM参数量更大但记忆能力更强,2026年仍广泛应用于时序预测、语音识别等领域,常与Transformer混合使用。PyTorch实现简洁,虽面临新架构挑战,但作为序列建模里程碑技术,LSTM在工业界保持重要地位。(149字)

likuolei的博客 2453

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++实现长短期记忆人工神经网络LSTM(附带源码)

C++实现长短期记忆人工神经网络LSTM(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 2620

lstm结构图_神经网络——单层LSTM

LSTM神经网络全称长短时记忆神经网络(Long Short-term Memory),是一种特殊的RNN(Recurrent Neural Network)。下面从一下几个部分对LSTM进行介绍。LSTM–cell、gate的基本概念LSTM内部结构基于Tensorflow的LSTM实现代码解析LSTM推断在FPGA实现思路1. 基本概念1.1 cellCell是构成RNN神经网络的基本单元,C...

weixin_39940788的博客 2008

LSTM网络模式介绍

LSTM:长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。RNN梯度消失是因为激活函数tanh函数的倒数在0到1之间,反向传播时更新前面时刻的参数时,当参数W初始化为小于1的数,则多个(tanh函数’ * W)相乘,将导致求得的偏导极小(小于1的数连乘),从而导致梯度消失。最终的输出结果是上面两步的结果的一个函数。

suixinm的专栏 711

【深度学习】在PyTorch中使用 LSTM 进行新冠病例预测

时间序列数据,顾名思义是一种随时间变化的数据。例如,24 小时时间段内的温度,一个月内各种产品的价格,特定公司一年内的股票价格。长短期记忆网络(LSTM)等高级深度学习模型能够捕捉时间序列...

fengdu78的博客 7808

Pytorch实现多层lstm

Pytorch实现多层lstmPytorch实现多层lstmPytorch实现多层lstm

Major_S的博客 1万+
上一篇: C#使用cmd执行.exe文件,并在程序关闭时关闭打开的进程
下一篇: TensorflowSharp安装和使用入门
乐莫新相知
博客等级 码龄12年 13粉丝 16原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值