Git Product home page Git Product logo

passbyyou888 / zanalysis Goto Github PK

View Code? Open in Web Editor NEW
57.0 8.0 28.0 690.97 MB

zAnalysis是基于Pascal语言编写的大型统计学开源库

Home Page: https://www.zpascal.net

License: GNU General Public License v3.0

Pascal 89.08% Batchfile 0.02% Assembly 0.40% PHP 0.27% C++ 0.49% SourcePawn 0.63% C 0.03% Shell 0.01% CSS 0.13% HTML 8.88% JavaScript 0.05% XSLT 0.03%
learn pca lda sift hog feature analysis machine learn-pascal linux

zanalysis's Introduction

zAnalysis是什么?

zAnalysis是基于Pascal语言编写的大型统计学开源库,它不依赖于任何三方库,并且可以跨平台和并行化计算

zAnalysis不限制你的任何商业用途和拷贝,包括二次开发

注意区分

zAI是机器视觉的人工智能方向项目 https://github.com/PassByYou888/zAI

zVision偏向纯粹的机器视觉 https://github.com/PassByYou888/zVision

zAnalysis偏向数据统计 https://github.com/PassByYou888/zAnalysis

zChinese是正在完善中的NLP项目 https://github.com/PassByYou888/zChinese

开发平台支持

  • Delphi及IDE要求:Delphi Rad studio XE10.2.1 or Last
  • FPC编译器支持:FPC3.0.4 or last,可参看本项目随附的IOT入手指南将FPC升级至github最新的版本
  • CodeTyphon 6.0 or last(尽量使用Online更新到最新的Cross工具链+相关库)

平台支持,test with Delphi 10.3 update 2 and FPC 3.0.4

  • Windows: delphi-CrossSocket(C/S OK), delphi-DIOCP(C/S OK), delphi-ICS(C/S OK), delphi-Indy(C/S OK),delphi+fpc Synapse(C/S OK)
  • Android:Indy(C/S OK), CrossSocket(Only Client)
  • IOS Device: Indy(C/S OK), CrossSocket(Only Client)
  • IOS Simulaor: n/a
  • OSX: Indy(C/S OK),ICS(未测试), CrossSocket(C/S OK)
  • Ubuntu16.04 x64 server: Indy(C/S OK), CrossSocket(C/S OK)
  • Ubuntu18.04 x86+x64 Desktop:only fpc3.0.4 Synapse(C/S OK)
  • Ubuntu18.04 x86+x64 Server:only fpc3.0.4 Synapse(C/S OK)
  • Ubuntu18.04 arm32+arm neon Server:only fpc3.0.4 Synapse(C/S OK)
  • Ubuntu18.04 arm32+arm neon desktop:only fpc3.0.4 compile ok,no test on run.
  • Ubuntu16.04 Mate arm32 desktop:only fpc3.0.4 compile ok, test passed
  • Raspberry Pi 3 Debian linux armv7 desktop,only fpc 3.0.4,test passed.
  • wince(arm eabi hard flaot),windows 10 IOT,only fpc 3.3.1,test passed.

CPU架构支持,test with Delphi 10.3 update 2 and FPC 3.0.4

  • MIPS(fpc-little endian), soft float, test pass on QEMU
  • intel X86(fpc-x86), soft float
  • intel X86(delphi+fpc), hard float,80386,PENTIUM,PENTIUM2,PENTIUM3,PENTIUM4,PENTIUMM,COREI,COREAVX,COREAVX2
  • intel X64(fpc-x86_64), soft float
  • intel X64(delphi+fpc), hard float,ATHLON64,COREI,COREAVX,COREAVX2
  • ARM(fpc-arm32-eabi,soft float):ARMV3,ARMV4,ARMV4T,ARMV5,ARMV5T,ARMV5TE,ARMV5TEJ
  • ARM(fpc-arm32-eabi,hard float):ARMV6,ARMV6K,ARMV6T2,ARMV6Z,ARMV6M,ARMV7,ARMV7A,ARMV7R,ARMV7M,ARMV7EM
  • ARM(fpc-arm64-eabi,hard float):ARMV8,aarch64

关于IoT平台的开发测试机:本文提及到的IOT开发板都可以通过网购获取,自己动手diy Linux需要一定的耐心,懒人建议使用CodeTyphon,或则直接apt安装内置的fpc+Lazarus

指标

暂无指标统计程序

zAnalysis支持哪些功能

神经网络支持 Test Pass

  • 动态KD空间树支持(纯数组的非链表计算内核,支持并行化查找,内置临近K聚类,只支持双浮点)
  • 高速静态KD空间树支持(纯数组的非链表计算内核,支持并行化查找,内置临近K聚类,支持8种整型和浮点变量类型)
  • 临近k聚类支持
  • LBFGS-大规模拟牛顿法(支持并行化,支持神经网络集成)
  • 非线性最小二乘法(牛顿法进阶版本,支持并行化,支持神经网络集成)
  • 随机森林决策树学习
  • 评定模型的逻辑回归
  • 蒙特卡罗抽样学习
  • 图片采样:主成分采样,线性判定采样,灰度反走样,矩阵采样
  • 神经网络多层感知器
  • 卷积计算二次开发支持
  • 分类器支持
  • 因变量支持

正太分布检测 Test Pass

  • F检测
  • 二项式化分布检测
  • 方差分布检测
  • t分布检测
  • 皮尔逊分布检测
  • 斯皮尔曼分布检测

正太分布计算 Test Pass

  • 正太分布函数
  • 泊松分布
  • F分布
  • 二项式化分布支持计算
  • 方差分布计算
  • t分布计算
  • 皮尔逊分布
  • 斯皮尔曼分布
  • Jarque-Bera检验计算
  • 曼-惠特尼U检验计算
  • 威尔科克森符号秩检验计算

基础视觉库 Test Pass

  • sift高斯金字塔及sift特征匹配支持
  • HOG梯度方向直方图及特征匹配
  • 图片相似性相关:基于方差图采样(分别支持PCA主成分分析与LDA线性判别分析,这里的方差图采样不是梯度方差图)
  • 图片相似性相关:基于皮尔逊,斯皮尔曼,k空间的相似性查找
  • 最小走样化缩放技术(高斯平滑缩放,灰度缩放,快速平滑缩放)
  • 光栅库不需要任何外部底层api支持,天然工作于系统内存中,并且平台无关性
  • 光栅库内核支持并行化框架
  • 光栅库支持JpegLS无损压缩(灰度,RGB,RGBA)
  • 光栅库支持BRRC梯度压缩,支持哈夫曼压缩
  • 光栅库支持顶点渲染
  • 光栅库支持平台无关性的字体系统
  • 光栅库支持面向H264及YUV2MPEG的视频打包
  • 光栅库支持AGG高保真像素系统

数据库集成 Test Pass

  • 内置ZDB本地数据库,ZDB可以作为大型数据库的伴侣数据库,为项目提供统计学支持
  • 内置ZDB内存数据库支持
  • ZDB可以轻松改造成网络数据库后台,并且能基于zServer项目轻松搭建机器学习的后台框架

其它支持

  • 100%兼容linux桌面开发(fpc方向)
  • ffmpeg待支持(平台无关性)
  • 小型渲染引擎支持(平台无关性,支持并行化渲染,支持多线程渲染,支持所有运行平台)
  • zSound音频库支持(平台无关性,支持播放音乐,音效,混音等等功能)
  • 提供快速存储与恢复,可以动态读取,计算结果,无需训练
  • 部分数据格式可以兼容MATLAB
  • 机器学习状态可以导出成Json格式
  • 以匿名函数方式训练(匿名函数只能工作于Delphi开发平台,不支持fpc)
  • 安全浮点运算
  • 安全动态数组处理
  • 后台HPC服务器运算支持
  • 工具集

面向未来支持的补完计划

  • 完善使用文档和Demo
  • 金融领域数据统计和分析的傻瓜支持
  • 中小型企业级数据统计和分析的傻瓜支持
  • 在游戏领域使用机器学习
  • 自然语言处理的傻瓜支持(完善中,请参见我的开源项目 https://github.com/PassByYou888/zChinese)
  • 加强视觉库的傻瓜支持(物体识别支持,人脸识别支持,请参考我的AI项目 https://zpascal.net)
  • 对第三方大数据源支持(例如google提供的大数据源,请参考我的AI项目 https://zpascal.net)
  • 可二次开发的模型化机器学习平台(请参考我的AI项目 https://zpascal.net)
  • 分布式云服务器计算后台(https://github.com/PassByYou888/ZServer4D)
  • 提供plot二维可视化图形api(光栅库已经加强,下一版本将提供模型呈现系统)

编译注意事项

首次编译前,先运行Source\MemoryRaster_DefaultFont_build.bat,生成一次字体库

默认环境下,光栅引擎不支持中文,假如要使用中文,请用字体工具重新生成一次中文字体库(让它包含GBK字符集)

在Source中的子目录,均对开发或则运行平台有所要求

  • source\DrawInterfaceInFMX,必须使用delphi+fmx才能进行编译,运行平台支持ios,android,osx,windows,不支持linux
  • source\SoundInterfaceInFMX,,必须使用delphi+fmx才能进行编译,运行平台支持ios,android,osx,windows,不支持linux
  • source\SoundInterfaceInBass,bass是平台无关性(fpc+delphi+所有操作系统),详见zSound开源工程的部署方法 https://github.com/PassByYou888/zSound

在Source中的所有库均为平台无关性支持

  • source中的所有*.pas均为平台关性,包括编译器fpc+laz与delphi的支持,包括各个系统环境的支持,均能无关性

编译和开发基于Linux桌面的机器学习应用是fpc方向,需要搭建环境,请参看文档

  • Linux桌面开发指南.pdf

在linux或则fpc编译器出来的应用启动缓慢的解决办法

  1. 解决办法1:自行外挂一个内存管理单元,比如TCMAlloc
  2. 解决办法2:使用字体工具,将字体库改小(不创建BGK字符集),重新生成字体库
  3. 解决办法3:将 https://github.com/PassByYou888/zRasterization/Source 中的所有文件copy到zAnalysis/Source中覆盖

在Windows中使用高速d2d绘图请参看文档

  • 在苹果和安卓手机平台中让DrawEngine在FMX中加速工作.docx

使用问题请加在互助qq群490269542

请不要直接加作者,谢谢大家

by 2018-4

zanalysis's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zanalysis's Issues

Bad zip

Bad zip download again and check

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.