基础培训管道如何工作

2020-08-17 17:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使用一个基本的训练管道,但是当我执行它时,它会一直运行并且永远运行而不会产生任何结果。 我在"窃听"或跟踪中都看不到任何消息。

python代码非常简单,甚至没有读取数据集或任何内容,因此它应该在几秒钟内执行。

将numpy导入为np
 导入操作系统
 将tensorflow作为tf导入
 进口sapdi
 从sapdi.artifact.artifact导入Artifact,ArtifactKind,ArtifactFileType


 #====为要训练的模型创建输出工件====
 #====注意:工件别名必须与输出端口名称相同====
 out_artifact = sapdi.create_artifact(
     artifact_alias ="模型",
     file_type = ArtifactFileType.ZIP,
     artifact_kind = ArtifactKind.MODEL,
     description ="有史以来最好的模型",
     artifact_name ="简单模型"
 )
 model_path = out_artifact.get_path()


 #=======使用工件数据训练模型========
 def train():
     api.send(" logs","开始训练")
     api.logger.info("开始训练")
    
     #使用输入工件训练模型
     X = np.arange(-10.0,10.0,1e-2)
     np.random.shuffle(X)
     y = 2 * X + 1
     
     train_end = int(0.6 * len(X))
     test_start = int(0.8 * len(X))
     
     X_train,y_train = X [:train_end],y [:train_end]
     X_test,y_test = X [test_start:],y [test_start:]
     X_val,y_val = X [train_end:test_start],y [train_end:test_start]

     tf.keras.backend.clear_session()
     linear_model = tf.keras.models.Sequential([
                                                tf.keras.layers.Dense(单位= 1,input_shape = [1],名称="单")
                                                ])
     linear_model.compile(optimizer = tf.keras.optimizers.SGD(),loss = tf.keras.losses.mean_squared_error)
     linear_model.summary()

     linear_model.fit(X_train,y_train,validation_data =(X_val,y_val),历元= 20)
    
     #将训练好的模型复制到model_path
     linear_model.save(model_path)
    
     api.send(" logs","培训完成")
     api.logger.info("培训完成")
 培养()
 

有人可以说出什么毛病吗?

(23.8 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在尝试使用一个基本的训练管道,但是当我执行它时,它会一直运行并且永远运行而不会产生任何结果。 我在"窃听"或跟踪中都看不到任何消息。

python代码非常简单,甚至没有读取数据集或任何内容,因此它应该在几秒钟内执行。

将numpy导入为np
 导入操作系统
 将tensorflow作为tf导入
 进口sapdi
 从sapdi.artifact.artifact导入Artifact,ArtifactKind,ArtifactFileType


 #====为要训练的模型创建输出工件====
 #====注意:工件别名必须与输出端口名称相同====
 out_artifact = sapdi.create_artifact(
     artifact_alias ="模型",
     file_type = ArtifactFileType.ZIP,
     artifact_kind = ArtifactKind.MODEL,
     description ="有史以来最好的模型",
     artifact_name ="简单模型"
 )
 model_path = out_artifact.get_path()


 #=======使用工件数据训练模型========
 def train():
     api.send(" logs","开始训练")
     api.logger.info("开始训练")
    
     #使用输入工件训练模型
     X = np.arange(-10.0,10.0,1e-2)
     np.random.shuffle(X)
     y = 2 * X + 1
     
     train_end = int(0.6 * len(X))
     test_start = int(0.8 * len(X))
     
     X_train,y_train = X [:train_end],y [:train_end]
     X_test,y_test = X [test_start:],y [test_start:]
     X_val,y_val = X [train_end:test_start],y [train_end:test_start]

     tf.keras.backend.clear_session()
     linear_model = tf.keras.models.Sequential([
                                                tf.keras.layers.Dense(单位= 1,input_shape = [1],名称="单")
                                                ])
     linear_model.compile(optimizer = tf.keras.optimizers.SGD(),loss = tf.keras.losses.mean_squared_error)
     linear_model.summary()

     linear_model.fit(X_train,y_train,validation_data =(X_val,y_val),历元= 20)
    
     #将训练好的模型复制到model_path
     linear_model.save(model_path)
    
     api.send(" logs","培训完成")
     api.logger.info("培训完成")
 培养()
 

有人可以说出什么毛病吗?

(23.8 kB)
付费偷看设置
发送
2条回答
callcenter油条
1楼-- · 2020-08-17 18:22

嗨,

您使用哪个vflow运算符来实现您的训练脚本? 如果使用培训操作员,则不能使用api.send或api.logger等语句。 目前仅在基于python3运算符的脚本中支持它们。 如果您使用培训操作员来实施培训,则可以将调试或日志消息直接写到标准输出,例如 使用print()。 您在脚本中创建的模型将映射到名称为" model"的输出端口。 请确保连接到图形终结器的输出端口具有此名称。

最好,
安德烈亚斯·鲍尔

空代码
2楼-- · 2020-08-17 18:06

感谢安德烈亚斯的回应。

我正在使用培训操作员,因此我删除了api.send或api.logger调用,而改用print。 打印语句在哪里写消息?

此外,输出端口称为模型,因此我正在使用别名"模型"创建工件。 我是否还需要其他任何东西才能调用输出端口?

#====为要训练的模型创建输出工件====
 #====注意:工件别名必须与输出端口名称相同====
 out_artifact = sapdi.create_artifact(
     artifact_alias ="模型",
     file_type = ArtifactFileType.ZIP,
     artifact_kind = ArtifactKind.MODEL,description ="有史以来最佳模型",
     artifact_name =" simple_model")
 model_path = out_artifact.get_path()

一周热门 更多>