Closed zhouhansheng closed 1 year ago
是的,现在没有更好的方法,方式一明文得是整数,方式二 scale 的倍数需要用户自行记录。
如果从整个 secretflow 的角度看,还有第三种方法,就是把 heu数据 to 到spu,在spu 中做 truncation,再 to 回 heu,但是中间涉及 he -> ss; ss -> he 转换以及网络传输,性能比较低的
是的,现在没有更好的方法,方式一明文得是整数,方式二 scale 的倍数需要用户自行记录。
如果从整个 secretflow 的角度看,还有第三种方法,就是把 heu数据 to 到spu,在spu 中做 truncation,再 to 回 heu,但是中间涉及 he -> ss; ss -> he 转换以及网络传输,性能比较低的
其中方法三 HESS-LR 中有个例子 https://github.com/secretflow/secretflow/blob/main/secretflow/ml/linear/hess_sgd/model.py#L210
是的,现在没有更好的方法,方式一明文得是整数,方式二 scale 的倍数需要用户自行记录。 如果从整个 secretflow 的角度看,还有第三种方法,就是把 heu数据 to 到spu,在spu 中做 truncation,再 to 回 heu,但是中间涉及 he -> ss; ss -> he 转换以及网络传输,性能比较低的
其中方法三 HESS-LR 中有个例子 https://github.com/secretflow/secretflow/blob/main/secretflow/ml/linear/hess_sgd/model.py#L210
了解了,感谢回复!
对于方式一,如果明文数据是整数,解密解码后结果是正确的,但如果明文也是浮点数,则没法保证解码后结果精度; 对于方式二,如果执行完乘之后,还需要执行密文加,则加运算的操作数在编码时的scale应该要变成scale*scale吧,若执行多次密文乘明文,然后再执行加,似乎需要时刻关注操作数的scale,请问这边有更方便的操作或是其他的处理吗?