首页 > 其他分享 >3.19

3.19

时间:2024-03-19 21:34:02浏览次数:22  
标签:3.19 sess predict test step train tf

铜期货价格的预测代码

今日完成LSTM模型的搭建和运行

代码部分分为两部分:模型的训练和预测

训练模型部分代码:

def train_lstm(batch_size=5,time_step=2,train_begin=0,train_end=150):
    X=tf.placeholder(tf.float32, shape=[None,time_step,input_size])
    Y=tf.placeholder(tf.float32, shape=[None,time_step,output_size])
    batch_index,train_x,train_y=get_train_data(batch_size,time_step,train_begin,train_end)
    pred,_=lstm(X)
    #损失函数
    loss=tf.reduce_mean(tf.square(tf.reshape(pred,[-1])-tf.reshape(Y, [-1])))
    train_op=tf.train.AdamOptimizer(lr).minimize(loss)
    saver=tf.train.Saver(tf.global_variables(),max_to_keep=15)
    module_file = tf.train.latest_checkpoint('./')
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        #saver.restore(sess, module_file)
        #重复训练10000次
        for i in range(150):
            for step in range(len(batch_index)-1):
                _,loss_=sess.run([train_op,loss],feed_dict={X:train_x[batch_index[step]:batch_index[step+1]],Y:train_y[batch_index[step]:batch_index[step+1]]})
            print(i,loss_)
            if i % 15==0:
                print("保存模型:",saver.save(sess,'future.model',global_step=i))

  预测部分代码:

def prediction(time_step=2):
    X=tf.placeholder(tf.float32, shape=[None,time_step,input_size])
    #Y=tf.placeholder(tf.float32, shape=[None,time_step,output_size])
    mean,std,test_x,test_y=get_test_data(time_step)
    pred,_=lstm(X)
    saver=tf.train.Saver(tf.global_variables())
    with tf.Session() as sess:
        #参数恢复
        module_file = tf.train.latest_checkpoint('./')
        saver.restore(sess, module_file)
        test_predict=[]
        for step in range(len(test_x)-1):
          prob=sess.run(pred,feed_dict={X:[test_x[step]]})
          predict=prob.reshape((-1))
          test_predict.extend(predict)
        test_y=np.array(test_y)*std[7]+mean[7]
        test_predict=np.array(test_predict)*std[7]+mean[7]
        acc=np.average(np.abs(test_predict-test_y[:len(test_predict)])/test_y[:len(test_predict)])  #偏差
        #以折线图表示结果
        plt.figure()
        plt.plot(list(range(len(test_predict))), test_predict, color='b')
        plt.plot(list(range(len(test_y))), test_y,  color='r')
        plt.show()
        print(acc)

  结果:

 

 

 

标签:3.19,sess,predict,test,step,train,tf
From: https://www.cnblogs.com/15132949hao/p/18083995

相关文章

  • 3.19 HarmonyOS 网络请求工具类
    网络请求部分的代码实在是太麻烦了,所以把他封装成一个工具类使用起来方便些今天先封装两个,一个是post把集合传给后端,一个是get查询全部importhttpfrom'@ohos.net.http';classAxiosUtil{privatehttpRequest=http.createHttp();constructor(){//用于订阅HTTP......
  • 3.19
    Android采用Sqlite作为数据库存储。Sqlite代码写起来繁琐且容易出错,所以开源社区里逐渐出现了各种ORM(ObjectRelationalMapping)库。这些开源ORM库都是为了方便Sqlite的使用,包括数据库的创建,升级,增删改查等。常见的ORM有ORMLite,GreenDAO等。Google也意识到了推出自家ORM的必要性,于......
  • 随笔,发散了 3.19
    okihavefinishedthelisteningandthereadingtasks.andnowineedtowritesomething ohicansharesomedreamswithu iwilldreamsomethingwiredwheniwassleeping.butIcannotreallyrememberallthedreams. irememberedadreamthatiwas......
  • 2024.03.19【文字排版】作为设计师 这三个功能不用还是尽量别用
    第一个功能-黑色加粗的“B”它是Bold的简写,可以通过这一功能将字体给加粗加大一号。可是实际上这个功能并不是把字体变成大一号,而是单纯的给字体加上一个外轮廓,这样不仅破坏了设计师原本的字形轮廓设计,可选粗细单一而且会使得字体变形,看着不美观也不自然所以大部分字库都会......
  • dolphinscheduler报错:Connect to 192.168.xx.xx:8088 [192.168.xx.xx/110.173.196.1]
    报错信息:在dophin中抽取mysql的数据到hive中报错[ERROR]2023-10-2015:33:10.461org.apache.dolphinscheduler.common.utils.HttpUtils:[73]-Connectto192.168.xx.xx:8088[192.168.xx.xx/110.173.196.1]failed:connecttimedoutorg.apache.http.conn.ConnectTimeout......
  • 2023.19 国内哪些职业容易被GPT取代
    看到下面这篇文章分析了中国职业被GPT替代的可能性,结论不一定对,目前GPT的推理回答还会存在错误,但其实现方法及分析还是可以学习参考的。文中分析中国职业被GPT替代的可能性的实现方法是将职业拆分成要完成的任务,再把任务拆分成具体的工作,然后标注评估每一项具体工作被GPT替代的概......
  • 2023.3.19周报
    本周总结:刷了洛谷一些动态规划蓝题紫题大方向:动态规划小专题:树型DP、区间DP题目完成情况:15 ......
  • 【LeetCode】3.19 对称二叉树
    101.对称二叉树​ 给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:fa......
  • 3.19 基本Dos命令
    常用的Dos命令1.盘符切换:(英文状态下)例C盘换D盘(直接在后边加所要换盘的名称和冒号)  2查看当前目录下的所有文件名    :   直接加Dir3切换目录(用cd......
  • 上周热点回顾(3.13-3.19)
    热点随笔:· 为什么C#可能是最好的第一编程语言 (张善友)· 【个人首测】百度文心一言VSChatGPTGPT-4 (机器学习算法与Python)· Linux系统下祼机安装mysql8.0和......