从phoc嵌入计算概率相关得分的函数

prob-phoc的Python项目详细描述


探针孔

Build Status

Pythorch函数计算有意义的概率相关性得分 字符柱状图金字塔嵌入。 尽管它们被称为字符柱状图金字塔,但实际上 它们是一个由许多字符组成的金字塔。最后,每个字都是 由高维二进制向量表示。

wiki 更多细节。

用法

库提供两个函数:cphocpphoc,它们是 类似于scipy的cdistpdist

这两个函数都可以在概率空间(其中 每个维度都是[0,1]范围内的实数,或者是对数概率内的实数 空间(其中每个维度是概率的对数)。这些也是 有时被称为实半环和对数半环。

importtorchfromprob_phocimportcphoc,pphocx=torch.Tensor(...)y=torch.Tensor(...)# Compute the log-relevance scores between all pairs of rows in x, y.# Note: x and y must have the PHOC log-probabilities.logprob=cphoc(x,y)# This is equivalent to:logprob=cphoc(x,y,method="sum_prod_log")# If your matrices have probabilities instead of log-probabilities, use:prob=cphoc(x,y,method="sum_prob_real")# Compute the log-relevance scores between all pairs of distinct rows in x.# Note: The output is a vector with N * (N - 1) / 2 elements.logprob=pphoc(x)

安装

最简单的方法是从pypi安装包:

pip install prob-phoc

如果要从存储库安装最新版本,请克隆它 并使用setup.py脚本编译和安装库。

python setup.py install
您需要一个C++ 11编译器(用GCC 4.9测试)。 如果要使用cuda支持进行编译,还需要安装 CUDA工具包(在8.0、9.0和10.0版中测试)

测试和基准

安装之后,您可以运行测试以确保 工作正常。

python -m prob_phoc.test

对于不同的矩阵,我也有一些比较CPU和CUDA的基准 尺寸和浮子精度。这些要花很长时间才能跑,所以不要等 你的呼吸。

python -m prob_phoc.benchmark

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从数组中打印int值?   prepared语句Java中奇怪的异常PreparedStatement:参数索引超出范围   封装如何在OOP Java中为主方法编码?   java某些手机显示快捷方式徽章需要什么权限?   java TextView不会随OnItemSelectedListener更改   java注释处理器不会自动触发吗?   java Spring JPA如何计算外键数   c#对于这个简单的OOAD问题,哪种设计最优雅?   java如何处理while循环中的异常?   Android Studio错误:进程'command'/home/draven/Downloads/安卓studio/jre/bin/java''结束,退出值为非零2   在使用Payara服务器的Vaadin应用程序中导航到根目录时,java将丢失上下文根目录   使用contentType application/json而不是application/jsonpatch+json的java修补程序   带有tomcat的java HAproxy连接不足   Java:在应用过滤器后创建一个简单的通用方法进行计数   java如何使用多态性创建一个实例化对象的方法,然后用它们高效地填充ArrayList?