FATE
FATE copied to clipboard
sbt 的validate_data 设置不生效
trafficstars
data upload代码如下
import json
from pipeline.backend.pipeline import PipeLine
from pipeline.component import Reader, DataTransform, Intersection, HeteroSecureBoost, Evaluation
from pipeline.interface import Data
train_data_guest = {"name": "guest_binary_mnist_train", "namespace": "bench"}
test_data_guest = {"name": "guest_binary_mnist_test", "namespace": "bench"}
pipeline_upload = PipeLine().set_initiator(
role="guest", party_id=142).set_roles(guest=142, host=154)
pipeline_upload.add_upload_data(file="guest_binary_mnist_train.csv",
table_name=train_data_guest["name"],
namespace=train_data_guest["namespace"],
head=1, partition=8)
pipeline_upload.upload(drop=1)
pipeline_upload.add_upload_data(file="guest_binary_mnist_test.csv",
table_name=test_data_guest["name"],
namespace=test_data_guest["namespace"],
head=1, partition=8)
pipeline_upload.upload(drop=1)
训练代码如下
import json
from pipeline.backend.pipeline import PipeLine
from pipeline.component import Reader, DataTransform, Intersection, HeteroSecureBoost, Evaluation
from pipeline.interface import Data
from pipeline.interface import Model
train_data_guest = {"name": "guest_binary_mnist_train", "namespace": "bench"}
train_data_host = {"name": "host_binary_mnist_train", "namespace": "bench"}
test_data_guest = {"name": "guest_binary_mnist_test", "namespace": "bench"}
test_data_host = {"name": "host_binary_mnist_test", "namespace": "bench"}
pipeline = PipeLine().set_initiator(
role="guest", party_id=142).set_roles(guest=142, host=154)
reader_0 = Reader(name="reader_0")
reader_0.get_party_instance(
role="guest", party_id=142).component_param(table=train_data_guest)
reader_0.get_party_instance(
role="host", party_id=154).component_param(table=train_data_host)
data_transform_0 = DataTransform(
name="data_transform_0")
data_transform_0.get_party_instance(
role="guest", party_id=142).component_param(with_label=True, output_format="dense", label_name="label")
data_transform_0.get_party_instance(
role="host", party_id=154).component_param(with_label=False)
reader_1 = Reader(name="reader_1")
reader_1.get_party_instance(
role="guest", party_id=142).component_param(table=test_data_guest)
reader_1.get_party_instance(
role="host", party_id=154).component_param(table=test_data_host)
data_transform_1 = DataTransform(
name="data_transform_1")
data_transform_1.get_party_instance(
role="guest", party_id=142).component_param(with_label=True, output_format="dense", label_name="label")
data_transform_1.get_party_instance(
role="host", party_id=154).component_param(with_label=False)
intersection_0 = Intersection(name="intersection_0")
intersection_1 = Intersection(name="intersection_1")
hetero_secureboost_0 = HeteroSecureBoost(name="hetero_secureboost_0",
num_trees=10,
learning_rate=0.3,
bin_num=33,
task_type="classification",
validation_freqs=2,
objective_param={
"objective": "cross_entropy"},
encrypt_param={"method": "paillier"},
tree_param={"max_depth": 3})
pipeline.add_component(reader_0)\
.add_component(reader_1)\
.add_component(data_transform_0, data=Data(data=reader_0.output.data))\
.add_component(data_transform_1, data=Data(data=reader_1.output.data), model=Model(data_transform_0.output.model))\
.add_component(intersection_0, data=Data(data=data_transform_0.output.data))\
.add_component(intersection_1, data=Data(data=data_transform_1.output.data))\
.add_component(hetero_secureboost_0, data=Data(train_data=intersection_0.output.data, validate_data=intersection_1.output.data))
pipeline.compile().fit()
fate board上没有显示validate metrics,只有train的metrics,求指点
如下图

Make sure that the training data's ids and the testing data's ids are not overlapped.
您好!请问这个问题解决了吗?我也是这样的