当前位置: 首页 > news >正文

【FATE联邦学习】Fateboard的使用

fateboard文档 https://fate.fedai.org/fateboard/
github Fateboard文档 https://github.com/FederatedAI/FATE-Board/blob/master/README-CN.md

背景

Fateboard是FATE框架的任务看板。
在配置FATE时,Fateboard一般是被安装好了的,安装过程查看这里
ATEBoard代码使用spring-boot框架并嵌入在tomcat容器中,默认的网络端口是8080,所以还要稍微懂点java。
我自己并没有深究springboot,按我的理解,

启动fateboard服务

因为我是standalone安装的FATE,已经直接安装好了,根据文档https://fate.fedai.org/fateboard/
输入以下可启动Fateboard

java -Dspring.config.location=FATE/fateboard/src/main/resources/application.properties -DFATE_DEPLOY_PREFIX=FATE/logs/ -Dssh_config_file=FATE/fateboard/src/main/resources/ -Xmx2048m -Xms2048m -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError -jar FATE/fateboard/target/fateboard-1.0.jar >/dev/null 2>&1 &

一些参数解释

-Dspring.config.location 	path of application.properties of fateboard
-Dssh_config_file 	path of directory which ssh.properties lies in
-DFATE_DEPLOY_PREFIX 	path of logs directory which produced by fate_flow

所以看上去挺长,其实就是输入了一些路径,有点长。
拆解一下就是用java启动了springboot的一个服务,

java -A a -B b

还有一些杂项,列在下面了,基本上是java的相关的一些参数(我不是很熟悉java,有错请评论指出

  • -Xms2048m :代表最小堆要2048MiB
  • -XX:+PrintGCDetails :开启了jvm的Garage Collector的日志输出
  • -XX:+PrintGCDateStamps :输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.2)参考这个
  • -Xloggc:gc.log : 输出GC日志到文件
  • -XX:+HeapDumpOnOutOfMemoryError : 表示当JVM发生OOM时,自动生成DUMP文件。啥是DUMP文件?
  • -jar FATE/fateboard/target/fateboard-1.0.jar
  • /dev/null 2>&1 & : 这些就是linux运维基本知识了,直接把输出的信息不要了,把stderr错误信息输出给到stdout来,参考这个

停止服务

ps -ef|grep java|grep fateboard-1.1.jar|grep -v grep|awk ‘{print $2}’
kill -9 ${pid}

启动服务后,网页访问

http://{fateboard-ip}:8080,一般就可以了,如果8080端口没有被别人占了的话。想要直接换端口应该可以在启动的时候往java那命令里加参数就可以。standalone的话一般是127.0.0.1:8080
不过搞笑的是访问后竟然还要登录……默认是账密是adminadmin
接下来都是可视化操作了。
在这里插入图片描述

小结

Fateboard是重要的FATE框架任务看板,即便是开发debug的时候也会常用到这一看版。

http://www.lryc.cn/news/24696.html

相关文章:

  • 解决vue3没有this造成的无法使用vue2
  • 百度前端二面vue面试题指南
  • 【备战面试】每日10道面试题打卡-Day1
  • 服务器重启后jar包自动重启
  • Ubuntu 交叉编译工具链安装
  • Vue3中ref、reactive、toRef、toRefs基本用法和区别
  • python hash 不一致踩坑总结
  • qt5.15 快速安装 国内源
  • JavaScript 对象
  • 数据库设计三大范式
  • cesium学习记录02-vue项目中cesium的配置与使用
  • 【微服务】-认识微服务
  • 容器的线程安全性
  • 如何用Postman测试整套接口?测试流程是什么?
  • 【批处理脚本】-2.1-测试IP连接命令ping
  • 百度“文心一言”携手酷开科技,实现AI智能领域新突破!
  • Elasticsearch索引全生命周期管理一网打尽
  • MySQL的SELECT
  • conda 搭建tensorflow-GPU和pycharm以及VS2022 软件环境配置
  • HACKTHEBOX——Teacher
  • 干货| Vue小程序开发技术原理
  • unity-web端h5记录
  • 基于部标JT808的车载视频监控需求与EasyCVR视频融合平台解决方案设计
  • Grafana邮件及告警配置
  • Springboot Java多线程操作本地文件,加读写锁,阻塞的线程等待运行中的线程执行完再查询并写入
  • WebRTC拥塞控制算法——GCC介绍
  • 大数据技术之Maxwell基础知识
  • 元数据管理实践数据血缘
  • SQL的优化【面试工作】
  • Kotlin 40. Dependency Injection 依赖注入以及Hilt在Kotlin中的使用,系列3:Hilt 注释介绍及使用案例