python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
文章目录
- 使用数据获取渠道自动填充数据
- QTEASY数据拉取功能
- 数据拉取接口`refill_data_source()`
- 数据拉取API的功能特性
- 多渠道拉取数据
- 实现下载流量控制
- 实现错误重试
- 日志记录
- 其他功能
qteasy是一个功能全面且易用的量化交易策略框架,
Github地址在这里。使用它,能轻松地获取历史数据,创建交易策略并完成回测和优化,还能实盘运行。
项目文档在这里。
使用qteasy,您可以非常容易地在本地(本地电脑或者NAS服务器上)创建一个金融数据源,并自动从网上拉取大量金融数据保存在其中,以管理您的金融数据。这是一篇系列文章,前几篇文章的链接在这里:
- 创建本地数据源
- 管理本地数据源
这篇文章介绍如何自动从网络拉取金融数据。
使用数据获取渠道自动填充数据
前面介绍过DataSource对象的基本操作方法,但是在实际使用中,我们需要往DataSource对象中填充大量数据,如果使用前面章节介绍的DataSource.update_table_data()方法手动填充数据,这样的工作量是非常大的。
这里我们介绍如何使用数据获取渠道自动填充数据。
QTEASY数据拉取功能
QTEASY数据管理模块:

如上图所示,qteasy的数据功能分为三层,第一层包括多种数据下载接口,用于从网络数据提供商获取数据,这个过程称为DataFetching。
数据拉取接口refill_data_source()
qteasy提供了一个自动化数据下载接口qteasy.refill_data_source(),可以从多个不同的网络数据提供商拉取多种金融数据,满足不同用户的使用习惯。qteasy提供的数据拉取API具备强大的多线程并行下载、数据分块下载、下载流量控制和错误延时重试功能,以适应不同数据供应商各种变态的流量限制,同时数据拉取API可以方便地定期自动运行完成数据批量下载任务,不用担心错过高频数据。
下面先用一个例子解释如何使用qteasy.refill_data_source()接口自动填充数据。我们先创建一个不含数据的DataSource对象,并向其中填充最基本的数据。
>>> import qteasy as qt
>>> ds = qt.DataSource()
# 检查数据源中是否有数据
>>> ds.overview()
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]104/104-100.0% A...zing completed!
Finished analyzing datasource:
file://csv@qt_root/data/
3 table(s) out of 104 contain local data as summary below, to view complete list, print returned DataFrame
===============================tables with local data===============================Has_data Size_on_disk Record_count Record_start Record_end
table
trade_calendar True 1.8MB 70K CFFEX SZSE
stock_basic True 852KB 5K None None
stock_daily True 98.8MB 1.3M 20211112 20241231
我们可以看到,DataSource对象中已经有了一些数据表,为了进行下面的测试,我们将首先删除trade_calendar以及stock_daily两张数据表中的数据,然后再使用数据拉取接口自动填充它们。
首先删除两张数据表,为了删除数据表,首先将数据源的allow_drop_table属性设置为True,然后再删除数据表。
>>> ds.allow_drop_table = True
>>> ds.drop_table_data('trade_calendar')
>>> ds.drop_table_data('stock_daily')
>>> ds.allow_drop_table = False
>>> overview = ds.overview()
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]104/104-100.0% A...zing completed!
Finished analyzing datasource:
file://csv@qt_root/data/
1 table(s) out of 104 contain local data as summary below, to view complete list, print returned DataFrame
===============================tables with local data===============================Has_data Size_on_disk Record_count Record_start Record_end
table
stock_basic True 852KB 5K None None
可以看到,trade_calendar和stock_daily两张数据表中的数据已经被删除。
接下来,我们使用qteasy.refill_data_source()接口自动填充数据,代码很简单,只有一行,剩下的工作qteasy会自动完成。
>>> qt.refill_data_source(tables='stock_daily', # 指定要填充的数据表:股票日K线数据channel='tushare', # 指定数据下载渠道data_source=ds, # 指定需要填充的数据源对象start_date='20210101', # 指定数据下载的起始日期end_date='20211231', # 指定数据下载的结束日期
)Filling data source file://csv@qt_root/data/ ...
into 2 table(s) (parallely): {'stock_daily', 'trade_calendar'}
[########################################]243/243-100.0% <stock_daily> 2398764 wrtn in about 16 sec
[########################################]7/7-100.0% <trade_calendar> 70054 wrtn in about 1 sec Data refill completed! 2468818 rows written into 2/2 table(s)!
拉取并填充数据后,可以检查数据已经下载成功了:
>>> ds.read_table_data('stock_daily', shares='000001.SZ, 000002.SZ', start='20211111', end='20211131')open high low close pre_close change pct_chg \
ts_code trade_date
000001.SZ 2021-11-11 17.35 18.43 17.32 18.35 17.40 0.95 5.4598 2021-11-12 18.31 18.63 18.11 18.27 18.35 -0.08 -0.4360 2021-11-15 18.35 18.63 18.20 18.43 18.27 0.16 0.8758 2021-11-16 18.36 18.54 18.17 18.22 18.43 -0.21 -1.1394 2021-11-17 18.15 18.30 17.98 18.11 18.22 -0.11 -0.6037 2021-11-18 18.09 18.12 17.73 17.80 18.11 -0.31 -1.7118 2021-11-19 17.80 18.24 17.70 18.15 17.80 0.35 1.9663 2021-11-22 18.03 18.25 17.90 18.12 18.15 -0.03 -0.1653 2021-11-23 18.11 18.35 17.68 17.88 18.12 -0.24 -1.3245 2021-11-24 17.77 17.95 17.66 17.87 17.88 -0.01 -0.0559 2021-11-25 17.74 17.79 17.63 17.68 17.87 -0.19 -1.0632 2021-11-26 17.62 17.67 17.52 17.58 17.68 -0.10 -0.5656 2021-11-29 17.41 17.57 17.36 17.51 17.58 -0.07 -0.3982 2021-11-30 17.54 17.68 17.35 17.44 17.51 -0.07 -0.3998
000002.SZ 2021-11-11 18.95 20.84 18.89 20.79 18.98 1.81 9.5364 2021-11-12 20.50 20.50 19.41 19.76 20.79 -1.03 -4.9543 2021-11-15 19.56 19.59 19.12 19.40 19.76 -0.36 -1.8219 2021-11-16 19.29 19.57 19.21 19.24 19.40 -0.16 -0.8247 2021-11-17 19.23 19.53 19.09 19.46 19.24 0.22 1.1435 2021-11-18 19.35 19.40 18.98 19.09 19.46 -0.37 -1.9013 2021-11-19 19.01 20.28 18.92 19.90 19.09 0.81 4.2431 2021-11-22 19.90 19.95 19.19 19.22 19.90 -0.68 -3.4171 2021-11-23 19.19 19.44 19.10 19.24 19.22 0.02 0.1041 2021-11-24 19.12 19.38 19.00 19.30 19.24 0.06 0.3119 2021-11-25 19.22 19.35 19.07 19.22 19.30 -0.08 -0.4145 2021-11-26 19.15 19.15 18.95 18.99 19.22 -0.23 -1.1967 2021-11-29 18.75 18.87 18.35 18.46 18.99 -0.53 -2.7909 2021-11-30 18.44 18.66 18.16 18.26 18.46 -0.20 -1.0834 vol amount
ts_code trade_date
000001.SZ 2021-11-11 2084729.00 3752413.858 2021-11-12 957546.46 1753072.716 2021-11-15 655089.99 1203764.095 2021-11-16 601110.48 1099113.409 2021-11-17 664640.38 1203859.180 2021-11-18 799843.77 1430058.311 2021-11-19 786371.56 1414506.380 2021-11-22 738617.80 1337768.172 2021-11-23 1235977.96 2213817.590 2021-11-24 741310.84 1316774.397 2021-11-25 603532.70 1068221.304 2021-11-26 694499.88 1219937.312 2021-11-29 512594.71 895105.981 2021-11-30 733616.06 1280384.552
000002.SZ 2021-11-11 3151015.76 6352746.112 2021-11-12 2065924.12 4100076.111 2021-11-15 959331.52 1852352.374 2021-11-16 593989.40 1149085.955 2021-11-17 623749.71 1205064.294 2021-11-18 609995.75 1168010.581 2021-11-19 1308293.09 2570652.947 2021-11-22 877584.30 1697701.639 2021-11-23 563435.65 1083646.252 2021-11-24 827366.98 1587246.249 2021-11-25 518123.06 995473.890 2021-11-26 504023.33 959331.064 2021-11-29 718595.81 1334479.867 2021-11-30 713092.22 1305310.857
数据拉取API的功能特性
分析数据拉取的过程,我们可以看到,qteasy自动完成了下面的工作:
- 自动查找依赖表 —— 虽然我们只指定了
stock_daily数据表,但是qteasy自动检测到trade_calendar数据表也是空的,且stock_daily表依赖交易日历表,所以也自动填充了trade_calendar数据表。 - 下载进度可视化 ——
qteasy提供了下载进度可视化,可以看到每个数据分块的下载进度,以及总体下载进度,过程中可以显示剩余时间,方便用户查看数据下载的情况。 - 大数据量自动分块 —— 上面的代码下载了2021年全年所有股票的日K线数据,这些数据量共有239万行,不管从任何数据渠道,这么大量的数据都不可能一次性下载下来,因此,
qteasy自动将数据分块,每一块只有一天的数据,可以看到整年的数据被分成了243块,数据分块下载显著降低了每次网络申请的数据量,提高成功率且降低了被阻断的风险。 - 多线程并行下载 —— 实行数据分块下载后,
qteasy自动使用多线程并行下载,加快数据下载速度,243个数据分块并行下载总共耗时仅16秒。
有了上面这些特性,qteasy的数据拉取功能可以满足几乎所有用户的数据获取需求,不管是下载大量数据,还是下载高频数据,qteasy都能提供高效的数据下载服务。
当然,除了上面提到的这些特性之外,qteasy还提供了更多的功能特性,以针对下载过程中出现的各种状况,这些功能特性我们在后面会逐步介绍:
- 多渠道下载 ——
qteasy提供了多种数据下载渠道,很多数据表可以从多个不同的渠道下载,而且随着版本更新,数据拉取渠道也在不断增加。 - 流量控制 —— 有些数据渠道对数据下载有流量限制,
qteasy提供了流量控制功能,可以限制数据下载的速度,即下载一定分块数量的数据后,可以暂停一段时间,例如每下载300个分块的数据,就暂停一分钟,避免被数据渠道封禁。 - 错误重试 —— 有些数据渠道下载数据时,可能会出现网络错误,
qteasy提供了错误重试功能,可以在下载失败后,自动重试下载,如果重试不成功,会延长重试等待时间再试,直到下载成功或超过重试次数并报错。 - 日志记录 ——
qteasy提供了数据下载日志记录功能,可以记录每次数据下载的详细信息,包括下载的数据量、下载的时间、下载的速度等,方便用户查看数据下载的情况。
多渠道拉取数据
qteasy提供了多种数据下载渠道,很多数据表可以从多个不同的渠道下载,而且随着版本更新,数据拉取渠道也在不断增加。
refill_data_source()接口的channel参数可以指定数据下载渠道,如果不指定,qteasy会自动选择一个默认的数据下载渠道tushare,但是用户也可以手动指定数据下载渠道,例如 :
下面的代码尝试从eastmoney数据渠道下载stock_daily数据表从2025年最初两个月的日K线数据:
>>> qt.refill_data_source(tables='stock_daily', channel='eastmoney', # 指定数据下载渠道为东方财经data_source=ds, start_date='20250101', end_date='20250301',
)Filling data source file://csv@qt_root/data/ ...
into 2 table(s) (parallely): {'stock_daily', 'stock_basic'}
[########################################]11078/11078-100.0% <stock_daily> 131264304 wrtn in about 17 min
[----------------------------------------]0/1-0.0% <stock_basic> can't be fetched from channel:eastmoney!Data refill completed! 131264304 rows written into 1/2 table(s)!
验证一下数据是否下载成功:
>>> ds.read_table_data('stock_daily', shares='000001.SZ, 000002.SZ', start='20250101', end='20250103')open high low close pre_close change pct_chg \
ts_code trade_date
000001.SZ 2025-01-13 11.25 11.26 11.08 11.20 11.30 -0.10 -0.8850 2025-01-14 11.20 11.40 11.19 11.38 11.20 0.18 1.6071 2025-01-15 11.38 11.58 11.36 11.48 11.38 0.10 0.8787 2025-01-16 11.55 11.59 11.47 11.57 11.48 0.09 0.7840 2025-01-17 11.53 11.55 11.42 11.45 11.57 -0.12 -1.0372 2025-01-20 11.50 11.52 11.40 11.42 11.45 -0.03 -0.2620 2025-01-21 11.45 11.45 11.32 11.33 11.42 -0.09 -0.7881 2025-01-22 11.32 11.33 11.08 11.09 11.33 -0.24 -2.1183 2025-01-23 11.17 11.40 11.17 11.32 11.09 0.23 2.0739 2025-01-24 11.32 11.39 11.22 11.34 11.32 0.02 0.1767 2025-01-27 11.38 11.55 11.38 11.47 11.34 0.13 1.1464
000002.SZ 2025-01-13 6.60 6.77 6.55 6.76 6.69 0.07 1.0463 2025-01-14 6.76 6.93 6.75 6.91 6.76 0.15 2.2189 2025-01-15 6.88 6.96 6.79 6.86 6.91 -0.05 -0.7236 2025-01-16 6.90 7.07 6.84 6.88 6.86 0.02 0.2915 2025-01-17 6.58 6.65 6.45 6.63 6.88 -0.25 -3.6337 2025-01-20 6.60 6.94 6.48 6.85 6.63 0.22 3.3183 2025-01-21 6.84 7.54 6.82 7.36 6.85 0.51 7.4453 2025-01-22 7.27 7.36 6.98 7.02 7.36 -0.34 -4.6196 2025-01-23 7.15 7.70 7.08 7.36 7.02 0.34 4.8433 2025-01-24 7.33 7.54 7.21 7.39 7.36 0.03 0.4076 2025-01-27 7.38 7.56 7.22 7.27 7.39 -0.12 -1.6238 vol amount
ts_code trade_date
000001.SZ 2025-01-13 934966.0 1044904.416 2025-01-14 824629.0 934467.766 2025-01-15 1031631.0 1185403.653 2025-01-16 872964.0 1007689.274 2025-01-17 689765.0 791230.419 2025-01-20 832029.0 953092.179 2025-01-21 902069.0 1024879.174 2025-01-22 1347129.0 1504818.607 2025-01-23 1514920.0 1715172.472 2025-01-24 944944.0 1069899.088 2025-01-27 1151935.0 1324270.607
000002.SZ 2025-01-13 911147.0 611005.036 2025-01-14 1116454.0 765177.082 2025-01-15 887294.0 608363.557 2025-01-16 1110545.0 771648.218 2025-01-17 3620283.0 2369977.993 2025-01-20 2988167.0 2009728.944 2025-01-21 5849397.0 4290640.172 2025-01-22 3448728.0 2457396.391 2025-01-23 4416581.0 3245710.622 2025-01-24 2555024.0 1885566.128 2025-01-27 2151753.0 1580357.769
数据下载显然也是成功的。分析上面的下载过程,可以发现几个特点:
- 不同渠道下载的数据格式是相同的,这是
qteasy的设计原则,不同的数据下载渠道下载的数据会经历相同的清洗过程,这样用户可以方便地切换不同的数据下载渠道,而不用担心数据格式不同导致的数据处理问题。 - 不同的渠道下载分块方式不同,导致下载速度不同,
eastmoney数据渠道下载速度较慢,需要约17分钟才能下载完成。这是由于不同下载渠道的特殊限制决定的。 - 不同渠道的下载可以下载的数据表也不同,有些数据表无法通过某些渠道下载,可能是因为权限限制或者其他因素导致的,如果某个数据表无法下载,
qteasy会自动跳过这个数据表,不会影响其他数据表的下载。
因此,用户需要根据自身的情况选择不同的渠道拉取数据。
实现下载流量控制
qteasy的refill_data_source提供了流量控制功能,可以限制数据下载的速度,即下载一定分块数量的数据后,可以暂停一段时间,例如每下载300个分块的数据,就暂停一分钟,避免被数据渠道封禁。
这个功能通过refill_data_source()接口的download_batch_size和download_batch_interval两个参数实现:
download_batch_size参数指定每次下载的数据分块数量,如果设置为300,则在下载300个数据分块后,会暂停一段时间。download_batch_interval参数指定每次下载数据分块后的暂停时间,默认为0,即不暂停。
下面的代码演示了如何使用download_batch_size和download_batch_interval参数实现下载流量控制:
>>> qt.refill_data_source(tables='stock_daily',channel='tushare',data_source=ds, start_date='20250101', end_date='20250301', download_batch_size=300, # 每次下载300个数据分块download_batch_interval=60, # 每次下载300个数据分块后暂停60秒
)
如果是用流量控制,当然下载时间会变长,但是对于某些数据渠道,这是必须的,否则可能会被封禁或报错导致下载失败。
实现错误重试
需要注意的是,数据下载过程中出错,qteasy会自动重试下载,重试机制如下:
- 第一次下载失败后重试之前会等待一段时间,默认等待时间为1.0秒
- 每次重试失败后,等待时间都会增加,默认等待时间增加为2倍,即第一次等待1.0秒,第二次等待2.0秒,第三次等待4.0秒,以此类推。
- 重试超过最大限额后停止重试并报错,默认情况下最多重复7次。
以上三个错误重试参数都是通过qteasy的配置文件在设定的,用户可以通过qt.config()接口查看或修改这些参数,也可以在qteasy的初始配置文件中修改这些参数。
hist_dnld_retry_cnt- 最大重试次数,默认为7次hist_dnld_retry_wait- 第一次重试等待时间,默认为1.0秒hist_dnld_backoff- 重试等待时间增加倍数,默认为2.0
关于如何修改配置文件,或者使用qteasy的初始配置文件,请参考qteasy的配置文件章节。
日志记录
qteasy提供了数据下载日志记录功能,可以记录每次数据下载的详细信息,包括下载的数据量、下载的时间、下载的速度等,方便用户查看数据下载的情况。
其他功能
qteasy的refill_data_source()接口还提供了其他一些功能,例如:
- 限制下载数据的范围,可以通过
start_date和end_date参数限制下载数据的时间范围,通过shares参数限制下载数据的股票范围。 - 设置是否并行下载,可以通过
parallel参数设置是否并行下载,如果设置为False,则会串行下载,否则会并行下载。 - 设置是否下载依赖表,可以通过
download_dependent参数设置是否下载依赖表,如果设置为False,则不会下载依赖表,否则会下载依赖表。 - 设置是否强制更新交易日历表。
其他更多关于该接口的解释,请参见qteasy的API文档。
相关文章:
python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据
文章目录 使用数据获取渠道自动填充数据QTEASY数据拉取功能数据拉取接口refill_data_source()数据拉取API的功能特性多渠道拉取数据实现下载流量控制实现错误重试日志记录其他功能 qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它&#x…...
RoboBrain:从抽象到具体的机器人操作统一大脑模型
25年2月来自北大、北京智源、中科院自动化所等的论文“RoboBrain: A Unified Brain Model for Robotic Manipulation from Abstract to Concrete”。 目前的多模态大语言模型(MLLM) 缺少三项必备的机器人大脑能力:规划能力,将复杂…...
DeepSeek本地接口调用(Ollama)
前言 上篇博文,我们通过Ollama搭建了本地的DeepSeek模型,本文主要是方便开发人员,如何通过代码或工具,通过API接口调用本地deepSeek模型 前文:DeepSeek-R1本地搭建_deepseek 本地部署-CSDN博客 注:本文不仅…...
数据库索引的作用:提升数据检索效率的关键
在数据库管理系统中,数据如同浩瀚海洋中的宝藏,如何快速准确地找到所需信息,成为了一个关键问题。这时候,数据库索引就如同一张精确的航海图,指引着我们高效地定位数据。那么,数据库索引究竟是什么…...
高效便捷的 Spring Boot 通用控制器框架
✨高效便捷的 Spring Boot 通用控制器框架✨ 一、简介 在 Java 开发中,重复性的基础接口编写工作常令人头疼。本框架基于 Spring Boot 与 MyBatis-Plus,精心构建通用控制器类BaseController,旨在为开发者排忧解难,极大减少繁琐的…...
SQL_语法
1 数据库 1.1 新增 create database [if not exists] 数据库名; 1.2 删除 drop database [if exists] 数据库名; 1.3 查询 (1) 查看所有数据库 show databases; (2) 查看当前数据库下的所有表 show tables; 2 数据表 2.1 新增 (1) 创建表 create table [if not exists…...
在 CentOS 上,常用几种方法来确保 Python 脚本在断开终端后继续运行
在 CentOS 上,你可以使用以下几种方法来确保 Python 脚本在断开终端后继续运行: 1. 使用 nohup 命令 nohup 命令可以让进程在终端关闭后继续运行。 nohup python main.py > output.log 2>&1 &nohup:忽略挂断信号,…...
全面回顾复习——C++语法篇1(基于牛客网C++题库)
注:牛客网允许使用万能头文件#include<bits/stdc.h> 1、求类型长度——sizeof()函数 2、将浮点数四舍五入——round()函数——前面如果加上static_cast会更安全一些 在C语言中可以使用printf(“.0l…...
一、数据库 MySQL 基础学习 (上)
一、数据库的概念 DB 数据库(database):存储数据的“仓库”,保存一系列有组织的数据 DBMS:数据库管理系统(Database Management System)。数据库是通过 DBMS 创建和操作的容器 创建的 DBMS: MySQL、Oracl…...
基于Django创建一个WEB后端框架(DjangoRestFramework+MySQL)流程
一、Django项目初始化 1.创建Django项目 Django-admin startproject 项目名 2.安装 djangorestframework pip install djangorestframework 解释: Django REST Framework (DRF) 是基于 Django 框架的一个强大的 Web API 框架,提供了多种工具和库来构建 RESTf…...
AutoGen学习笔记系列(七)Tutorial - Managing State
这篇文章瞄准的是AutoGen框架官方教程中的 Tutorial 章节中的 Managing State 小节,主要介绍了如何对Team内的状态管理,特别是如何 保存 与 加载 状态,这对于Agent系统而言非常重要。 官网链接:https://microsoft.github.io/auto…...
Redis渐进式遍历数据库
目录 渐进式遍历 数据库 渐进式遍历 keys*可以一次性的把整个redis中所有key都获取到,这个操作是非常危险的,因为可能一下获取到太多的key,阻塞redis服务器。要想很好的获取到所有的key,又不想出现卡死的情况,就可以…...
机器学习中的线性代数:奇异值分解 SVD
线性代数 奇异值分解(SVD) 参考资料: 超详细!彻底搞懂矩阵奇异值分解(SVD)本质计算应用!_哔哩哔哩_bilibili 非常好的视频,本文内容主要来自于该视频,在此表示感谢&#…...
【每日八股】计算机网络篇(三):IP
目录 DNS 查询服务器的基本流程DNS 采用 TCP 还是 UDP,为什么?默认使用 UDP 的原因需要使用 TCP 的场景?总结 DNS 劫持是什么?解决办法?浏览器输入一个 URL 到显示器显示的过程?URL 解析TCP 连接HTTP 请求页…...
6. PromQL的metric name(在node exporter复制下来交给AI解释的)
目录 前言: Go 运行时指标: Go 内存统计指标: CPU 指标: 内存指标: 磁盘指标: 网络指标: 系统指标: 前言: 写这个得目的是为了后续方便查询,因为在pro…...
基于单片机的速度里程表设计(论文+源码)
1 系统方案 本次智能速度里程表的总体架构如图2-1所示,在硬件上包括了STC89C52单片机,电机,显示模块,报警模块,DS1302时钟模块,超速检测模块,按键等等。在软件设计功能的功能上,按下…...
计算机毕业设计Python+Django+Vue3微博数据舆情分析平台 微博用户画像系统 微博舆情可视化(源码+ 文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
nvidia驱动升级-ubuntu 1804
升级 1.从官网下载*.run驱动文件 2.卸载原始驱动 sudo /usr/bin/nvidia-uninstall sudo apt-get --purge remove nvidia-\* # 可能不需要加-\ sudo apt-get purge nvidia-\* # 可能不需要加-\ sudo apt-get purge libnvidia-\* # 可能不需要…...
如何使用SSH命令安全连接并转发端口到远程服务器
ssh -p 22546 rootconnect.westc.gpuhub.com d6IS/mQKq/iG ssh -CNgv -L 6006:127.0.0.1:6006 rootconnect.westc.gpuhub.com -p 22546 第一条命令:用于登录远程服务器,进行交互式操作。第二条命令:用于建立 SSH 隧道,进行端口转…...
2025年天梯赛第1场选拔赛
目录 A:徐老师的积木山峰 B:徐老师的最长上升子序列 C:徐老师的机器命令 D:徐老师的地下堡 E:徐老师的新鲜羊腿 F:徐老师的黄金矿工 G:徐老师的成绩统计 H:春节糖果 I:幸运函数 J:好坏钥匙 A:徐老师的积木山峰 徐老师有 n 块积木排成一排,从左往右数编号依次为 1∼…...
06实现相册小项目
一、涉及的知识点: 1、bmp的显示 2、双向循环链表实现图片的轮播 3、触摸屏的滑动算法实现图片的切换 4、目录操作用以检索bmp图片文件 5、项目的优化方向 (1)可以实现不同图片大小的显示 (2)图片轮播的时候可以…...
Dify+DeepSeek | Excel数据一键可视化(创建步骤案例)(echarts助手.yml)(文档表格转图表、根据表格绘制图表、Excel绘制图表)
Dify部署参考:Dify Rag部署并集成在线Deepseek教程(Windows、部署Rag、安装Ragan安装、安装Dify安装、安装ollama安装) DifyDeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入&#x…...
RK3568平台(GPIO篇)Android平台集成libgpiod库
一.libgpiod 介绍 libgpiod 是一个用于与 Linux GPIO(通用输入输出)子系统交互的用户空间库。它提供了一组简单且高效的 API,允许开发者通过用户空间程序控制 GPIO 引脚,而无需编写内核模块或直接操作 /sys/class/gpio 接口。libgpiod 是 Linux 内核推荐的 GPIO 访问方式,…...
API和SDK
API(Application Programming Interface)和 SDK(Software Development Kit)是软件开发中密切相关的概念,但它们之间存在一些区别: 定义 API :是一组预先定义的函数、协议和规范,用…...
CR电路介绍
CR电路(RC电路)介绍 CR电路(电阻-电容电路)由电阻(R)和电容(C)组成,是电子系统中的基础模块,广泛用于信号处理、定时、滤波等场景。以下是其核心功能、实现方…...
安装与配置 STK-MATLAB 接口
STK版本为11.6 Matlab版本为R2018a STK 提供 Connect 和 Object Model (COM) 两种接口与 MATLAB 交互,推荐使用 COM接口进行二次开发。 确保安装了 STK,并且 MATLAB 可以访问 STK Object Model。 在 MATLAB 中运行: % 添加 STK COM 库&#…...
NUMA架构介绍
NUMA 架构详解 NUMA(Non-Uniform Memory Access,非统一内存访问) 是一种多处理器系统的内存设计架构,旨在解决多处理器系统中内存访问延迟不一致的问题。与传统的 UMA(Uniform Memory Access,统一内存访问…...
计算机二级MS之PPT
声明:跟着大猫和小黑学习随便记下一些笔记供大家参考,二级考试之前将持续更新,希望大家二级都能轻轻松松过啦,过了二级的大神也可以在评论区留言给点建议,感谢大家!! 文章目录 考题难点1cm25px…...
python中采用opencv作常规的图片处理的方法~~~
在python中,我们经常会需要对图片做灰度/二值化/模糊等处理,这时候opencv就是我们的好帮手了,下面我来介绍一下相关用法: 首先,需要安装opencv-python库: 然后,在你的代码中引用: import cv2 最后就是代码了&#x…...
deepseek在pycharm 中的配置和简单应用
对于最常用的调试python脚本开发环境pycharm,如何接入deepseek是我们窥探ai代码编写的第一步,熟悉起来总没坏处。 1、官网安装pycharm社区版(免费),如果需要安装专业版,需要另外找破解码。 2、安装Ollama…...
