金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 667|回复: 4

神经网络模型mode.fit()函数报错nonetype object has no attribute write

[复制链接]

5

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2024-1-22
曾用名:
发表于 2024-4-26 13:06 | 显示全部楼层 |阅读模式
请老师帮忙看一下这个代码问题:
python神经网络模型代码如下,运行后报错如附件所示。
注释model.fit(X_train, y_train, epochs=10, batch_size=64)这一行后不再报错。
python版本3.7.4,各python模块库均已安装。
顺便问一下能不能查看更详细的错误信息?

from PythonApi import *
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
import tensorflow as tf
from tensorflow.keras import layers
import tensorflow.keras
import random
from sklearn.preprocessing import StandardScaler

def init(context):
    data1 = [[1,1],[2,2],[3,3],[4,4],[5,5]]
    data2 = [1,2,3,4,5]
    X = np.array(data1)  # 特征矩阵
    y = np.array(data2)  # 目标向量
    # 划分训练集和测试集
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    #数据预处理
    ss = StandardScaler()
    X_train = ss.fit_transform(X_train)
    y_train = np.log1p(y_train) # 取对数归一化,提高拟合效果
    X_test = ss.transform(X_test)
    y_test = np.log1p(y_test) # 取对数归一化,提高拟合效果

    # 定义神经网络模型
    model = tf.keras.Sequential()
    model.add(layers.Dense(16))
    model.add(layers.Dense(32))
    model.add(layers.Dense(1))
    model.compile(optimizer=tf.keras.optimizers.SGD(0.001), loss='mean_squared_error')
    model.fit(X_train, y_train, epochs=10, batch_size=64)   ######此行注释后不报错

def before_trading(context):
    pass

def handle_bar(context):
    pass

def after_trading(context):
    pass

截图202404261301234679.png
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-4-26 13:13 | 显示全部楼层
这段代码 你在非金字塔编辑器下运行下试下呢。我看你这里也没有必须依赖金字塔框架的东西。

直接在其他编辑器下运行调试下,看下更具体报错内容所在。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2024-1-22
曾用名:
 楼主| 发表于 2024-4-26 13:36 | 显示全部楼层
技术009 发表于 2024-4-26 13:13
这段代码 你在非金字塔编辑器下运行下试下呢。我看你这里也没有必须依赖金字塔框架的东西。

直接在其他 ...

在python3.7里运行不报错
>>> import numpy as np
>>> import pandas as pd
>>> from sklearn.model_selection import train_test_split
>>> import tensorflow as tf
>>> from tensorflow.keras import layers
>>> import tensorflow.keras
>>> import random
>>> from sklearn.preprocessing import StandardScaler
>>> data1 = [[1,1],[2,2],[3,3],[4,4],[5,5]]
>>> data2 = [1,2,3,4,5]
>>> X = np.array(data1)  # 特征矩阵
>>> y = np.array(data2)  # 目标向量
>>> # 划分训练集和测试集
... X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
>>>
>>> #数据预处理
... ss = StandardScaler()
>>> X_train = ss.fit_transform(X_train)
>>> y_train = np.log1p(y_train) # 取对数归一化,提高拟合效果
>>> X_test = ss.transform(X_test)
>>> y_test = np.log1p(y_test) # 取对数归一化,提高拟合效果
>>>
>>> # 定义神经网络模型
... model = tf.keras.Sequential()
2024-04-26 13:35:01.965235: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
>>> model.add(layers.Dense(16))
>>> model.add(layers.Dense(32))
>>> model.add(layers.Dense(1))
>>> model.compile(optimizer=tf.keras.optimizers.SGD(0.001), loss='mean_squared_error')
>>> model.fit(X_train, y_train, epochs=10, batch_size=64)
Epoch 1/10
1/1 [==============================] - 0s 438ms/step - loss: 2.5820
Epoch 2/10
1/1 [==============================] - 0s 0s/step - loss: 2.4885
Epoch 3/10
1/1 [==============================] - 0s 16ms/step - loss: 2.4002
Epoch 4/10
1/1 [==============================] - 0s 0s/step - loss: 2.3167
Epoch 5/10
1/1 [==============================] - 0s 0s/step - loss: 2.2377
Epoch 6/10
1/1 [==============================] - 0s 0s/step - loss: 2.1629
Epoch 7/10
1/1 [==============================] - 0s 0s/step - loss: 2.0918
Epoch 8/10
1/1 [==============================] - 0s 0s/step - loss: 2.0243
Epoch 9/10
1/1 [==============================] - 0s 0s/step - loss: 1.9601
Epoch 10/10
1/1 [==============================] - 0s 0s/step - loss: 1.8989
<keras.callbacks.History object at 0x0000020DFB640988>

补充内容 (2024-4-26 13:45):
这样看应该是软件的bug,看看有没有啥解决办法
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-4-29 16:30 | 显示全部楼层
这个库在训练过程中 会自动执行py的标准print之类的操作。

但是金字塔的print是自己封装的。所以其实只要取消掉 默认的打印 就不会报错了。

verbose =0  fit方法中指定下这个参数就行了。


金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

11

帖子

11

积分

Rank: 1

等级: 新手上路

注册:
2024-1-22
曾用名:
 楼主| 发表于 2024-4-30 11:17 | 显示全部楼层
技术009 发表于 2024-4-29 16:30
这个库在训练过程中 会自动执行py的标准print之类的操作。

但是金字塔的print是自己封装的。所以其实只 ...

设置verbose=0后不再报错,多谢老师!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-12-29 21:05 , Processed in 0.105962 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表