微衆連邦学習FATE単機版開発ノート
10174 ワード
微衆FATE 1.0スタンドアロン版学習ノート
微衆FATEプロジェクトアドレス:https://github.com/FederatedAI/FATE
一、FATEインストール(スタンドアロン版)
1.依存環境:要求:jdk 1.8+、Python3.6、python virtualenv、redis-5.0.2**具体的なインストール方法はこのブログを参照してください.https://blog.csdn.net/weixin_44002829/article/details/976198262.インストール前の注意事項:(1)3309、8080ポートは使用できません.サービスの開始:
ここで最後のステップは、すべてのテストユニットがテストに成功した場合、インストールに成功したことを示すテストを実行するためです.
二、運行及び快速テスト
FATEは、学習者が迅速にテストできるケースquickを提供しています.run.py,このケースでは縦LRの実行がデフォルトで実行され,具体的なテスト方法は以下の通りである.FATEのdocker環境で、サンプルフォルダ:cd./に切り替えます.examples/federatedml-1.0-examples/2.クイックテスト(1)Train:直接quick_を実行run.py: python quick_run.py(2)Predict:quick_を編集するrun.pyスクリプト、TASKパラメータを「predict」に変更してquick_run.pyを再実行
三、FATEの具体的なモデリング:
1.train
Step1. uploadデータ
(1)load_の準備fileのプロファイル(2)実行コード:
注意:計算に参加する各当事者は、このステップを実行する必要があります.
Step2. モデリング作業の開始
(1)dsl_の準備configとruntime_configプロファイル、table_を確認するにはname、namespaceフィールド、upload_data confの一貫性保持(2)実行コード:
Step3. ログの表示
ログ表示パス:${your_install_path}/logs/{your jobid}
2.Predict
Step1. 上記train手順を実行
(1)トレーニングステップの配置モジュールに「need_deploy」フィールドを追加する.FederatedmSampleとEvaluationを除き、すべてのモジュールがTrueをデフォルト値に設定し、予測フェーズで実行されません.「need_deploy」フィールドがTrueの場合、このモジュールは「fit」プロセスを実行する必要があり、fittedのモデルは予測フェーズで配置する必要があります(2)これらのモデルを「need_deploy」に設定するだけでなく、モデル出力を持つように構成する必要がありますが、Intersectモジュールを除きます.このようにしてこそ、fate−flowは、訓練後のモデルを格納し、inferenceフェーズで使用できるようにすることができる.(3)トレーニングモデルを取得するモデル_idとmodel_version.これを行うには2つの方法があります.a.ジョブをコミットすると、「model_id」および「model_version」b.を含むモデル情報が出力されます.これらのコマンドを実行すると、モデル情報を含むjsonファイルが${job_config_output_path}/model_にダウンロードされます.info.json、このjsonファイルで「model_id」と「model_version」${job_config_output_path}/model_info.json、このjsonファイルで「model_id」と「model_version」python${your_fate_install_path}/fate_flow/fate_flow_client.py -f job_config -j ${jobid} -r guest -p ${guest_partyid} -o ${job_config_output_path}
Step2. 予測プロファイルの定義 initiator:発起人initiatorの役割と参加者IDを指定し、トレーニングプロセスと同じである必要があります. job_parameters: work_mode:cluster or standalone、訓練過程と同じであるべきです.model_id\model_version:Step 1で説明したモデルインジケータ(model indicator).job_type:作業タイプ.この場合、「predict」であるべきです. role:すべてのロールのすべてのpartyIDは、トレーニングプロセスと同じであることを示します. role_parameters:各ロールにパラメータを設定します.この場合、「eval_data」(予測するデータを意味する)は、GuestとHostの両方に を記入する必要があります.
Step3. 予測の開始
Step4. 実行ステータスの表示
[法一]FATE_boardで見るとurlはhttp://f a t e b o a r d i p:{fate_board_ip}:fateb oardi p:{fate_board_port}/index.html#/details?job_id=KaTeX parse error: Expected 'EOF', got '&' at position 9: {job_id}&̲role=guest&part…{guest_partyid}[法二]FATE_がインストールされていない場合board、運転状態はfate_を通過できますflowは、次のコマンドを実行してjobのステータスをクエリーします.
Step5. 予測結果のダウンロード
予測タスクが完了すると、FATE-boardに最初の100の予測結果レコードが表示されます.次のコマンドを使用して、すべての結果をダウンロードすることもできます.
四、Fate_flow情報の表示
1.各コンポーネントの出力データの表示
2.各コンポーネントの出力モデルを表示する
3.taskのログを取得する
4.どうやってstop job?
5.jobの現在のステータスをどのようにクエリーしますか?
6.jobのruntimeをどのように獲得するかconfプロファイル?
7.前にアップロードしたテーブルをどのようにダウンロードしますか?
微衆FATEプロジェクトアドレス:https://github.com/FederatedAI/FATE
一、FATEインストール(スタンドアロン版)
FATE docker , docker , :
1.依存環境:要求:jdk 1.8+、Python3.6、python virtualenv、redis-5.0.2**具体的なインストール方法はこのブログを参照してください.https://blog.csdn.net/weixin_44002829/article/details/976198262.インストール前の注意事項:(1)3309、8080ポートは使用できません.サービスの開始:
## ( )
FATE $ git clone https://github.com/FederatedAI/FATE.git
## , docker
FATE $ cd FATE/standalone-deploy
FATE $ sh build_standalone_docker.sh
#
FATE $ CONTAINER_ID=`docker ps -aqf "name=fate_python"`
FATE $ docker exec -t -i ${CONTAINER_ID} bash
FATE $ sh ./federatedml/test/run_test.sh
ここで最後のステップは、すべてのテストユニットがテストに成功した場合、インストールに成功したことを示すテストを実行するためです.
二、運行及び快速テスト
FATEは、学習者が迅速にテストできるケースquickを提供しています.run.py,このケースでは縦LRの実行がデフォルトで実行され,具体的なテスト方法は以下の通りである.FATEのdocker環境で、サンプルフォルダ:cd./に切り替えます.examples/federatedml-1.0-examples/2.クイックテスト(1)Train:直接quick_を実行run.py: python quick_run.py(2)Predict:quick_を編集するrun.pyスクリプト、TASKパラメータを「predict」に変更してquick_run.pyを再実行
三、FATEの具体的なモデリング:
1.train
Step1. uploadデータ
(1)load_の準備fileのプロファイル(2)実行コード:
python ${your_install_path}/fate_flow/fate_flow_client.py -f upload -c dsl_test/upload_data.json
注意:計算に参加する各当事者は、このステップを実行する必要があります.
Step2. モデリング作業の開始
(1)dsl_の準備configとruntime_configプロファイル、table_を確認するにはname、namespaceフィールド、upload_data confの一貫性保持(2)実行コード:
python ${your_install_path}/fate_flow/fate_flow_client.py -f submitJob -d dsl_test/test_homolr_job_dsl.json -c dsl_test/${your_component_conf_json}
Step3. ログの表示
ログ表示パス:${your_install_path}/logs/{your jobid}
2.Predict
Step1. 上記train手順を実行
(1)トレーニングステップの配置モジュールに「need_deploy」フィールドを追加する.FederatedmSampleとEvaluationを除き、すべてのモジュールがTrueをデフォルト値に設定し、予測フェーズで実行されません.「need_deploy」フィールドがTrueの場合、このモジュールは「fit」プロセスを実行する必要があり、fittedのモデルは予測フェーズで配置する必要があります(2)これらのモデルを「need_deploy」に設定するだけでなく、モデル出力を持つように構成する必要がありますが、Intersectモジュールを除きます.このようにしてこそ、fate−flowは、訓練後のモデルを格納し、inferenceフェーズで使用できるようにすることができる.(3)トレーニングモデルを取得するモデル_idとmodel_version.これを行うには2つの方法があります.a.ジョブをコミットすると、「model_id」および「model_version」b.を含むモデル情報が出力されます.これらのコマンドを実行すると、モデル情報を含むjsonファイルが${job_config_output_path}/model_にダウンロードされます.info.json、このjsonファイルで「model_id」と「model_version」${job_config_output_path}/model_info.json、このjsonファイルで「model_id」と「model_version」python${your_fate_install_path}/fate_flow/fate_flow_client.py -f job_config -j ${jobid} -r guest -p ${guest_partyid} -o ${job_config_output_path}
Step2. 予測プロファイルの定義
“ ./test_predict_conf.json” 。
Step3. 予測の開始
python ${your_fate_install_path}/fate_flow/fate_flow_client.py -f submit_job -c ${predict_config}
Step4. 実行ステータスの表示
[法一]FATE_boardで見るとurlはhttp://f a t e b o a r d i p:{fate_board_ip}:fateb oardi p:{fate_board_port}/index.html#/details?job_id=KaTeX parse error: Expected 'EOF', got '&' at position 9: {job_id}&̲role=guest&part…{guest_partyid}[法二]FATE_がインストールされていない場合board、運転状態はfate_を通過できますflowは、次のコマンドを実行してjobのステータスをクエリーします.
python ${your_fate_install_path}/fate_flow/fate_flow_client.py -f query_job -j {job_id} -r guest
Step5. 予測結果のダウンロード
予測タスクが完了すると、FATE-boardに最初の100の予測結果レコードが表示されます.次のコマンドを使用して、すべての結果をダウンロードすることもできます.
python ${your_fate_install_path}/fate_flow/fate_flow_client.py -f component_output_data -j ${job_id} -p ${party_id} -r ${role} -cpn ${component_name} -o ${predict_result_output_dir}
四、Fate_flow情報の表示
1.各コンポーネントの出力データの表示
cd {your_fate_path}/fate_flow
python fate_flow_client.py -f component_output_data -j $jobid -p $party_id -r $role -cpn $component_name -o $output_dir
2.各コンポーネントの出力モデルを表示する
python fate_flow_client.py -f component_output_model -j $jobid -p $party_id -r $role -cpn $component_name
3.taskのログを取得する
python fate_flow_client.py -f job_log -j $jobid -o $output_dir
4.どうやってstop job?
python fate_flow_client.py -f stop_job -j $jobid
5.jobの現在のステータスをどのようにクエリーしますか?
python fate_flow_client.py -f query_job -j $jobid -p party_id -r role
6.jobのruntimeをどのように獲得するかconfプロファイル?
python fate_flow_client.py -f job_config -j $jobid -p party_id -r role -o $output_dir
7.前にアップロードしたテーブルをどのようにダウンロードしますか?
python fate_flow_client.py -f download -n table_namespace -t table_name -w work_mode -o save_file