1.开源大模型GGUF量化(llama.cpp)与本地部署运行(ollama)教程
2.优秀的开源开源 Verilog/FPGA开源项目介绍(十)- H.264和H.265
3.C#/.NET量化交易3搭建定时任务,自动获取历史股票数据和当前数据
4.股票里的量化量化源码是什么意思
5.量化交易-vnpy_efinance-VeighNa框架数据服务接口
6.TFlite 源码分析(一) 转换与量化
开源大模型GGUF量化(llama.cpp)与本地部署运行(ollama)教程
llama.cpp与ollama是开源项目,旨在解决大型模型在本地部署时遇到的源码源码问题。通过llama.cpp,开源开源用户可以对模型进行量化,量化量化以解决模型在特定电脑配置下无法运行的源码源码滴滴打车源码模板问题。同时,开源开源ollama则提供了一个简单的量化量化方法,让量化后的源码源码模型在本地更方便地运行。
对于许多用户来说,开源开源下载开源大模型后,量化量化往往面临不会运行或硬件配置不足无法运行的源码源码困扰。本文通过介绍llama.cpp和ollama的开源开源使用,提供了一个从量化到本地运行的量化量化解决方案。
下面,源码源码我们以Llama2开源大模型为例,详细说明如何在本地使用llama.cpp进行量化GGUF模型,并通过ollama进行运行。
在开始前,如果对量化和GGUF等专业术语感到困惑,建议使用文心一言或chatGPT等AI工具进行查询以获取更多信息。
使用ollama进行运行非常简单,只需访问其官网下载安装应用即可。支持众多大模型,操作指令直接使用`ollama run`即可自动下载和运行大模型。
运行指令示例:对于llama2大模型,原本.5G的7b模型在ollama中压缩至3.8G,量化等级为Q4_0。若需导入并运行已量化的网上开发源码GGUF模型,只需创建一个文件并添加FROM指令,指定模型本地文件路径。
在使用ollama进行模型操作时,需注意创建模型、运行模型等步骤。若有疑问,可留言交流。
对于自行下载的模型,要实现量化成GGUF格式,就需要借助于llama.cpp项目。该项目旨在实现LLM推理,支持多种量化级别,如1.5位、2位、3位、4位、5位、6位和8位整数量化,以提高推理速度并减少内存使用。
要使用llama.cpp,首先需克隆源码并创建build目录,然后通过Cmake进行编译。推荐使用Visual Studio 进行编译。编译成功后,可在bin/release目录找到编译好的程序。
接下来,通过llama.cpp项目中的convert.py脚本将模型转换为GGUF格式。对于llama2-b模型,逆光者指标源码转换后的模型大小从.2G缩减至6.G。
量化模型后,运行时使用llama.cpp编译的main.exe或直接使用ollama进行操作。通过创建文本文件并指定模型,使用ollama run指令即可轻松运行量化后的模型。
本文通过详细示例展示了如何利用llama.cpp和ollama对大模型进行量化并实现本地运行。若需进一步了解或在操作中遇到问题,欢迎在留言区进行交流。
优秀的 Verilog/FPGA开源项目介绍(十)- H.和H.
H.是ITU-TVCEG在H.之后推出的新视频编码标准,它在保留H.某些技术的基础上,对相关技术进行了改进。H.采用了先进技术,以优化码流、编码质量、延时和算法复杂度之间的关系,旨在提高压缩效率、鲁棒性和错误恢复能力,减少实时延时和信道获取时间,降低复杂度。
H.,即MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT)提出的高度压缩数字视频编解码器标准。H.的最大优势是其高数据压缩比率,在同等图像质量的条件下,其压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。
H.旨在在有限带宽下传输更高质量的网络视频,仅需原先的传统指标源码详解一半带宽即可播放相同质量的视频。这意味着,我们的智能手机、平板机等移动设备将能够直接在线播放p的全高清视频。H.标准也同时支持4K(×)和8K(×)超高清视频。
H.与H.的不同之处在于,H.在H.的基础上进行了改进,包括帧内预测、帧间预测、转换、量化、去区块滤波器和熵编码等模块。H.的编码架构大致上与H.相似,但整体被分为三个基本单位:编码单位(CU)、预测单位(PU)和转换单位(TU)。
复旦大学H./H.开源IP,包括H. Video Encoder IP Core,是由复旦大学专用集成电路与系统国家重点实验室(State Key Lab of ASIC & System,Fudan University)视频图像处理实验室(VIP Lab)范益波教授研究团队开发完成,并开放源代码。
开源地址:openasic.org
关于上板验证,网站上有相关的验证板卡代码,如下:
github上的开源H.,开源地址:github.com/tishi/h...
用verilog和system verilog编写,在FPGA板上用Xilinx ZYNQ验证,运行最高MHZ。
内容:文件夹“src”包含所有解码源文件。文件夹“tb”包含测试台文件,ext_ram_.v使用axi3接口模拟ddr。jenkins的pipeline源码文件夹“pli_fputc”是verilog pli,用于在运行模拟时将输出bin写入文件。
使用方法:模拟:将所有测试平台和源代码文件添加到您的模拟项目源中,例如modelsim。将测试文件in.放到您的模拟项目文件夹中。然后运行,例如,对于modelsim,运行“vsim -pli pli_fputc.dll bitstream_tb”。输出是out.yuv和一些日志文件。
在FPGA板上运行:将“src”文件夹中的源文件添加到您的FPGA项目中。顶部文件是decode_stream.sv。两个接口,stream_mem_xxx用于将H比特流馈送到解码器。
github上的开源H.,开源地址:github.com/aiminickwong...
无介绍
说明:第一个项目由复旦大学专用集成电路与系统国家重点实验室(State Key Lab of ASIC & System,Fudan University)视频图像处理实验室(VIP Lab)推出,不论项目完成度还是文档说明,都非常详细,同时上面给的是该项目的论坛,论坛上有相关工作人员维护,活跃度很高,适合去学习使用。
后面两个项目,碎碎并没验证过,但是感觉不怎么靠谱,README完整度不高,有兴趣的可以去看看。
最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在后台留言或者加微信留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。
优秀的 Verilog/FPGA开源项目介绍(九)- DP(增改版)
优秀的 Verilog/FPGA开源项目介绍(八)- HDMI
优秀的 Verilog/FPGA开源项目介绍(七)- CAN通信
介绍一些新手入门FPGA的优秀网站(新增2)
优秀的 Verilog/FPGA开源项目介绍(六)- MIPI
优秀的 Verilog/FPGA开源项目介绍(五)- USB通信
优秀的 Verilog/FPGA开源项目介绍(四)- Ethernet
优秀的 Verilog/FPGA开源项目介绍(三)- 大厂的项目
优秀的 Verilog/FPGA开源项目介绍(二)-RISC-V
优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信
C#/.NET量化交易3搭建定时任务,自动获取历史股票数据和当前数据
C#/.NET量化交易的第三部分主要涉及搭建定时任务,实现自动获取历史股票数据和实时数据的功能。首先,引入quartz库,它既用于定时任务的执行,也支持任务的监控。我们创建了一个基础通信配置类,便于与前端监控系统交流信息。
为自动化实时股价获取,设计了一个定时任务,它会在预设的时间点自动执行。此外,我们还设计了一个任务,用于定时获取历史股票数据,这对于分析股票走势和策略制定至关重要。为了保持程序后台持续运行,我们创建了一个Hosted服务,使其在程序启动后自动启动定时任务。
在程序启动时,监控界面会显示两个定时任务的执行计划,比如一个是年6月日9点分秒执行,另一个是9点分秒。我们通过模拟执行,验证了实时股票价格获取的正确性,然后手动触发历史数据获取任务,获取了股票近一个月的个交易日数据,便于进一步分析和策略制定。
以下是关键的定时任务代码片段,整个流程完成后,你可以通过我的公众号Dotnet Dancer获取完整的量化源码,回复量化开源即可获取开源项目链接。
股票里的源码是什么意思
股票中的源码通常指的是用于分析、交易或获取股票市场数据的编程代码。这些代码可能由各种编程语言编写,如Python、C++、Java等,并通常用于构建算法交易系统、量化交易策略、技术指标分析工具等。
详细来说,源码在股票领域的应用主要体现在以下几个方面:
1. 数据获取与处理:源码可以用来从股票交易所、财经数据提供商等处获取实时或历史股票数据。例如,使用Python的pandas库,我们可以方便地获取、清洗和处理股票数据。
2. 策略开发与回测:量化交易者会编写源码来开发交易策略,并通过历史数据进行策略回测。这样可以在实际投入资金前评估策略的有效性和风险。例如,一个简单的移动平均交叉策略可以通过比较短期和长期移动平均线的位置来确定买入和卖出点。
3. 技术指标计算:源码可用于计算各种技术指标,如RSI、MACD、布林带等,这些指标有助于交易者分析股票价格的动量和趋势。
4. 自动化交易:一旦策略经过验证并被认为是有利可图的,源码可以被用来构建自动化交易系统。这些系统可以实时监控市场,并在满足特定条件时自动执行交易。
5. 风险管理与优化:源码还可用于开发风险管理工具,如止损和止盈算法,以及用于优化投资组合配置的算法。
举例来说,一个Python源码片段可能用于从网络API获取股票数据,计算某只股票的简单移动平均线,并根据移动平均线的交叉点生成买入或卖出信号。这样的源码不仅有助于交易者做出更明智的投资决策,还可以通过自动化减少人为错误和情绪干扰。
量化交易-vnpy_efinance-VeighNa框架数据服务接口
我们之前对vnpy_ctastrategy相关回测源码进行了解析:
回首凡尘不做仙:VNPY源码分析1-vnpy_ctastrategy-运行回测
回首凡尘不做仙:VNPY源码分析2-vnpy_ctastrategy-撮合成交
回首凡尘不做仙:VNPY源码分析3-vnpy_ctastrategy-计算策略统计指标
相关历史数据可以通过各类数据服务的适配器接口(datafeed)下载,目前vn.py支持以下接口:
然而,上述接口需要注册或付费才能获取数据。
为了帮助初学者更好地理解和学习量化交易以及vn.py框架,我开发了基于efinance数据接口的vn.py的datafeed。
开源地址为:github.com/hgy/vnpy...
编译安装:
下载源代码后,解压并在cmd中运行:
dist目录下vnpy_efinance-x.x.x-py3-none-any.whl包
使用:
安装完成后,在vn.py框架的trader目录中的setting.py中进行配置:
注意:此处只需配置datafeed.name,username和password无需配置。
配置完成后,可以通过以下示例进行调用:
同时,这里分享一个efinance数据下载及入库方法:
然而,efinance在获取分钟级别数据方面并不友好。对于需要获取分钟级别数据的初学者来说,我们可以使用天勤免费版的数据接口:
回首凡尘不做仙:量化交易-数据获取-vnpy_tqsdk免费版
TFlite 源码分析(一) 转换与量化
TensorFlow Lite 是 Google 推出的用于设备端推断的开源深度学习框架,其主要目的是将 TensorFlow 模型部署到手机、嵌入式设备或物联网设备上。它由两部分构成:模型转换工具和模型推理引擎。
TFLite 的核心组成部分是转换(Converter)和解析(interpreter)。转换主要负责将模型转换成 TFLite 模型,并完成优化和量化的过程。解析则专注于高效执行推理,在端侧设备上进行计算。
转换部分,主要功能是通过 TFLiteConverter 接口实现。转换过程涉及确定输入数据类型,如是否为 float、int8 或 uint8。优化和转换过程主要通过 Toco 完成,包括导入模型、模型优化、转换以及输出模型。
在导入模型时,`ImportTensorFlowGraphDef` 函数负责确定输入输出节点,并检查所有算子是否支持,同时内联图的节点进行转换。量化过程则涉及计算网络中单层计算的量化公式,通常针对 UINT8(范围为 0-)或 INT8(范围为 -~)。量化功能主要通过 `CheckIsReadyForQuantization`、`Quantize` 等函数实现,确保输入输出节点的最大最小值存在。
输出模型时,根据指定的输出格式(如 TensorFlow 或 TFLite)进行。TFLite 输出主要分为数据保存和创建 TFLite 模型文件两部分。
量化过程分为选择量化参数和计算量化参数两部分。选择量化参数包括为输入和权重选择合适的量化参数,这些参数在 `MakeInitialDequantizeOperator` 中计算。计算参数则使用 `ChooseQuantizationParamsForArrayAndQuantizedDataType` 函数,该函数基于模板类模板实现。
TFLite 支持的量化操作包括 Post-training quantization 方法,实现相关功能的代码位于 `tools\optimize\quantize_model.cc`。