未验证 提交 639e920b 编写于 作者: D Dong Daxiang 提交者: GitHub

Merge pull request #66 from qjing666/bug_fix

Fix bugs in new version
...@@ -22,7 +22,7 @@ elseif (LINUX) ...@@ -22,7 +22,7 @@ elseif (LINUX)
endif() endif()
if (NOT PYTHON_EXECUTABLE) if (NOT PYTHON_EXECUTABLE)
set(PYTHON_EXECUTABLE python3) set(PYTHON_EXECUTABLE python)
endif() endif()
find_program(PYTHON ${PYTHON_EXECUTABLE}) find_program(PYTHON ${PYTHON_EXECUTABLE})
......
...@@ -86,9 +86,9 @@ step = 0 ...@@ -86,9 +86,9 @@ step = 0
for epoch_id in range(epoch_num): for epoch_id in range(epoch_num):
# feed data via loader # feed data via loader
for sample in loader(): for sample in loader():
exe.run(feed=sample) loss = exe.run(feed=sample, fetch_list=[cost.name])
if step % 50 == 0: if step % 50 == 0:
print('Epoch={}, Step={}'.format(epoch_id, step)) print('Epoch={}, Step={}, loss={}'.format(epoch_id, step, loss))
step += 1 step += 1
end_time = time.time() end_time = time.time()
......
...@@ -94,6 +94,6 @@ def decrypt_data_to_file(filepath, shape, decrypted_filepath): ...@@ -94,6 +94,6 @@ def decrypt_data_to_file(filepath, shape, decrypted_filepath):
for i in p: for i in p:
f.write(str(i) + '\n') f.write(str(i) + '\n')
# generate_encrypted_data() generate_encrypted_data()
# generate_encrypted_test_data() generate_encrypted_test_data()
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#!/bin/bash
#
# A tools to faciliate the parallel running of fluid_encrypted test scrips.
# A test script is EXPECTED to accepted arguments in the following format:
#
# SCRIPT_NAME $ROLE $SERVER $PORT
# ROLE: the role of the running party
# SERVER: the address of the party discovering service
# PORT: the port of the party discovering service
#
# This tool will try to fill the above three argument to the test script,
# so that totally three processes running the script will be started, to
# simulate run of three party in a standalone machine.
#
# Usage of this script:
#
# bash run_standalone.sh TEST_SCRIPT_NAME
#
# modify the following vars according to your environment
PYTHON="python"
REDIS_HOME="path_to_redis_bin"
SERVER="localhost"
PORT=9937
function usage() {
echo 'run_standalone.sh SCRIPT_NAME [ARG...]'
exit 0
}
if [ $# -lt 1 ]; then
usage
fi
SCRIPT=$1
if [ ! -f $SCRIPT ]; then
echo 'Could not find script of '$SCRIPT
exit 1
fi
REDIS_BIN=$REDIS_HOME/redis-cli
if [ ! -f $REDIS_BIN ]; then
echo 'Could not find redis cli in '$REDIS_HOME
exit 1
fi
# clear the redis cache
$REDIS_BIN -h $SERVER -p $PORT flushall
for role in {1..2}; do
$PYTHON $SCRIPT $role $SERVER $PORT 2>&1 >/dev/null &
done
# for party of role 0, run in a foreground mode and show the output
$PYTHON $SCRIPT 0 $SERVER $PORT
...@@ -32,13 +32,10 @@ ...@@ -32,13 +32,10 @@
# #
# modify the following vars according to your environment # modify the following vars according to your environment
LD_LIB_PATH="path_to_needed_libs"
PYTHON="python" PYTHON="python"
REDIS_HOME="path_to_redis_bin" REDIS_HOME="path_to_redis_bin"
SERVER="localhost" SERVER="localhost"
PORT=9937 PORT=9937
MPC_DATA_UTILS_MODULE_DIRPATH="mpc_data_utils_so_dirpath"
export PYTHONPATH=$MPC_DATA_UTILS_MODULE_DIRPATH:$PYTHONPATH
function usage() { function usage() {
echo 'run_standalone.sh SCRIPT_NAME [ARG...]' echo 'run_standalone.sh SCRIPT_NAME [ARG...]'
...@@ -64,8 +61,6 @@ fi ...@@ -64,8 +61,6 @@ fi
# clear the redis cache # clear the redis cache
$REDIS_BIN -h $SERVER -p $PORT flushall $REDIS_BIN -h $SERVER -p $PORT flushall
# kick off script with roles of 1 and 2, and redirect output to /dev/null
export LD_LIBRARY_PATH=$LD_LIB_PATH:$LD_LIBRARY_PATH
for role in {1..2}; do for role in {1..2}; do
$PYTHON $SCRIPT $role $SERVER $PORT 2>&1 >/dev/null & $PYTHON $SCRIPT $role $SERVER $PORT 2>&1 >/dev/null &
......
...@@ -60,3 +60,6 @@ def load_decrypt_data(filepath, shape): ...@@ -60,3 +60,6 @@ def load_decrypt_data(filepath, shape):
for instance in aby3_share_reader(): for instance in aby3_share_reader():
p = aby3.reconstruct(np.array(instance)) p = aby3.reconstruct(np.array(instance))
print(p) print(p)
generate_encrypted_data()
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#!/bin/bash
#
# A tools to faciliate the parallel running of fluid_encrypted test scrips.
# A test script is EXPECTED to accepted arguments in the following format:
#
# SCRIPT_NAME $ROLE $SERVER $PORT
# ROLE: the role of the running party
# SERVER: the address of the party discovering service
# PORT: the port of the party discovering service
#
# This tool will try to fill the above three argument to the test script,
# so that totally three processes running the script will be started, to
# simulate run of three party in a standalone machine.
#
# Usage of this script:
#
# bash run_standalone.sh TEST_SCRIPT_NAME
#
# modify the following vars according to your environment
PYTHON="python"
REDIS_HOME="path_to_redis_bin"
SERVER="localhost"
PORT=9937
function usage() {
echo 'run_standalone.sh SCRIPT_NAME [ARG...]'
exit 0
}
if [ $# -lt 1 ]; then
usage
fi
SCRIPT=$1
if [ ! -f $SCRIPT ]; then
echo 'Could not find script of '$SCRIPT
exit 1
fi
REDIS_BIN=$REDIS_HOME/redis-cli
if [ ! -f $REDIS_BIN ]; then
echo 'Could not find redis cli in '$REDIS_HOME
exit 1
fi
# clear the redis cache
$REDIS_BIN -h $SERVER -p $PORT flushall
for role in {1..2}; do
$PYTHON $SCRIPT $role $SERVER $PORT 2>&1 >/dev/null &
done
# for party of role 0, run in a foreground mode and show the output
$PYTHON $SCRIPT 0 $SERVER $PORT
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
import paddle_fl.paddle_fl as fl import paddle_fl.paddle_fl as fl
import paddle.fluid as fluid import paddle.fluid as fluid
from paddle_fl.core.server.fl_server import FLServer from paddle_fl.paddle_fl.core.server.fl_server import FLServer
from paddle_fl.core.master.fl_job import FLRunTimeJob from paddle_fl.paddle_fl.core.master.fl_job import FLRunTimeJob
server = FLServer() server = FLServer()
server_id = 0 server_id = 0
job_path = "fl_job_config" job_path = "fl_job_config"
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
from paddle_fl.paddle_fl.core.trainer.fl_trainer import FLTrainerFactory from paddle_fl.paddle_fl.core.trainer.fl_trainer import FLTrainerFactory
from paddle_fl.paddle_fl.core.master.fl_job import FLRunTimeJob from paddle_fl.paddle_fl.core.master.fl_job import FLRunTimeJob
import paddle_fl.paddle_fl.dataset.femnist import paddle_fl.paddle_fl.dataset.femnist as femnist
import numpy import numpy
import sys import sys
import paddle import paddle
...@@ -76,7 +76,7 @@ while not trainer.stop(): ...@@ -76,7 +76,7 @@ while not trainer.stop():
#train_data,test_data= data_generater(trainer_id,inner_step=trainer._step,batch_size=64,count_by_step=count_by_step) #train_data,test_data= data_generater(trainer_id,inner_step=trainer._step,batch_size=64,count_by_step=count_by_step)
train_reader = paddle.batch( train_reader = paddle.batch(
paddle.reader.shuffle( paddle.reader.shuffle(
paddle_fl.dataset.femnist.train( femnist.train(
trainer_id, trainer_id,
inner_step=trainer._step, inner_step=trainer._step,
batch_size=64, batch_size=64,
...@@ -85,7 +85,7 @@ while not trainer.stop(): ...@@ -85,7 +85,7 @@ while not trainer.stop():
batch_size=64) batch_size=64)
test_reader = paddle.batch( test_reader = paddle.batch(
paddle_fl.dataset.femnist.test( femnist.test(
trainer_id, trainer_id,
inner_step=trainer._step, inner_step=trainer._step,
batch_size=64, batch_size=64,
......
# Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
""" PaddleFL version string """
fl_version = "0.2.0"
module_proto_version = "0.2.0"
...@@ -22,7 +22,7 @@ import platform ...@@ -22,7 +22,7 @@ import platform
from setuptools import find_packages from setuptools import find_packages
from setuptools import setup from setuptools import setup
from paddle_fl.version import fl_version from version import fl_version
def python_version(): def python_version():
""" """
...@@ -34,7 +34,7 @@ def python_version(): ...@@ -34,7 +34,7 @@ def python_version():
max_version, mid_version, min_version = python_version() max_version, mid_version, min_version = python_version()
REQUIRED_PACKAGES = [ REQUIRED_PACKAGES = [
'six >= 1.10.0', 'protobuf >= 3.1.0', 'paddlepaddle == 1.6.3' 'six >= 1.10.0', 'protobuf >= 3.1.0', 'paddlepaddle == 1.6.3', 'paddlepaddle-gpu >= 1.8'
] ]
if max_version < 3: if max_version < 3:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册