Python 全栈系列252 一些小计划

说明

最近整体进展还比较顺利,不过也因为这样,好几个线头怎么继续平衡和推进需要稍微捋一下。

内容

按重要|紧急方法来看,线头1是重要且紧急的,QTV200也算重要且紧急,其他都算是重要不紧急。

线头1: 数据清洗

虽然用到的技术相对麻烦一点,但还算是数据清洗的内容。业务和某个具体的模型/算法并不是我最关注,在这个项目上我更关心方法与架构。

在这个项目里,方法上要求了模式-模型二级法,这也是之前一直想做的内容,这也可以使QTV200的决策能力提升一个层级。在架构上,很巧的也需要用到之前构想的数据流才能更好的处理。这既有开发上的,也有执行效率上的点。

模式部分,所需要区分的模式我已经标完。这里一个体会是,首先要将特征离散化,然后才好标记模式。离散化本身可能设计到较为复杂的算法,例如HMM。实时上通过这几天也证明了,一般性数据至少有50%是可以非常快穷举出来快速处理的,而不必走大模型。

架构部分,因为之前的积累,所以这次很快就完成了连通性测试,这样也比较容易赶得上接下来的进度。

本次使用了Redis和ClickHouse两种数据库,用于做队列和持久化。由MongoEngine管理任务对象,而Flask-APS-Celery负责流的定义和执行。

还需要做的部分:在进行开发测试的同时,将数据准备好

  • 1 在4090主机上建立数据流环境,后续可能需要持续使用1个月
  • 2 算网主机上,从clickhouse中分批取出数据,向4090发起持续的数据请求。写入stream1_in
  • 3 worker1: 从stream1_in中取数,先将数据进行UCS编号后存4090ch,同时将数据同步写入stream2_in(test),如果不能写入直接抛弃
  • 4 worker2 :从stream2_in中取数,进行模式识别,然后将结果分发到二级队列(目前有11个队列),对应的工作是将最近的模式识别程序封装为类似程序包的格式(现在十几个模式识别处理放在一个程序里太冗长了)stream2_tier2_in
  • 5 worker3s: 在多个队列下分别进行开发,然后进行调度。结果写入stream2_tier2_out
  • 6 worker4: 将stream2_tier2_out的结果汇聚到stream2_out
  • 7 worker5: 将stream2_out写到ch进行持久化。

这里会涉及到大量任务设置与调度执行,可以让我更快的完成数据流体系的磨合。另外就是看数据迁移这一块了,如何在ch中设置字段,然后将数据从节点A挪到节点B。

线头2:QTV200

这个是我最期望月底能完成的项目,具有特别重要的意义。

第一步是要建立数据流,从源头上重新

目前把之前的采集程序找到了,本来运行的也没有问题,不过现在转入数据流方法,使用Flask-APS-Celery来进行效率更高的取数。

先尽快把数据流搭好,然后把VV部署为服务。

线头3:GLM4

前不久智谱也开源了GLM4,我相信在Function Call上,应该能初步满足我的要求了

这个再等一等吧,写在这就不会忘了。

线头4:强化学习

开了个头,但没有时间把里面的内容钻一遍

总之,强化学习框架是我下一阶段的主要方法,本身也是设想在QTV200阶段开始应用的。试着跑了一下,看起来是我要的样子,在算力极大丰富的情况下,用分布式强化是非常合适的,机器再也不会有闲着的时候了。做一些有意义的算法,让算力燃烧在对的地方是我的理想。
在这里插入图片描述

在conda3下安装包 rllib, 需要pytorch

pip3 install ray[tune] -i  https://mirrors.aliyun.com/pypi/simple/
pip3 install gymnasium  -i  https://mirrors.aliyun.com/pypi/simple/
pip3 install dm_tree   -i  https://mirrors.aliyun.com/pypi/simple/
pip3 install typer   -i  https://mirrors.aliyun.com/pypi/simple/
pip3 install scikit-image -i  https://mirrors.aliyun.com/pypi/simple/
# 会自己下载并安装对应的gpu版本包 | 很大,最好留够十个G
pip3 install torch   -i  https://mirrors.aliyun.com/pypi/simple/
  Downloading https://mirrors.aliyun.com/pypi/packages/b6/9f/c64c03f49d6fbc56196664d05dba14e3a561038a81a638eeb47f4d4cfd48/nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 23.7/23.7 MB 777.5 kB/s eta 0:00:00
Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch)
  Downloading https://mirrors.aliyun.com/pypi/packages/eb/d5/c68b1d2cdfcc59e72e8a5949a37ddb22ae6cade80cd4a57a84d4c8b55472/nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 823.6/823.6 kB 786.7 kB/s eta 0:00:00
Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch)
  Downloading https://mirrors.aliyun.com/pypi/packages/7e/00/6b218edd739ecfc60524e585ba8e6b00554dd908de2c9c66c1af3e44e18d/nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.1/14.1 MB 859.9 kB/s eta 0:00:00
Collecting nvidia-cudnn-cu12==8.9.2.26 (from torch)
  Downloading https://mirrors.aliyun.com/pypi/packages/ff/74/a2e2be7fb83aaedec84f391f082cf765dfb635e7caa9b49065f73e4835d8/nvidia_cudnn_cu12-8.9.2.26-py3-none-manylinux1_x86_64.whl (731.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 723.9/731.7 MB 829.6 kB/s eta 0:00:10

import ray
from ray import tune
from ray.rllib import train
 
# 初始化Ray
ray.init()
 
# 运行一个简单的PPO算法示例
tune.run("PPO", config={"env": "CartPole-v0"})

2024-06-14 14:44:30,330	WARNING services.py:2009 -- WARNING: The object store is using /tmp instead of /dev/shm because /dev/shm has only 67092480 bytes available. This will harm performance! You may be able to free up space by deleting files in /dev/shm. If you are inside a Docker container, you can increase /dev/shm size by passing '--shm-size=10.24gb' to 'docker run' (or add it to the run_options list in a Ray cluster config). Make sure to set this to more than 30% of available RAM.
2024-06-14 14:44:30,449	INFO worker.py:1753 -- Started a local Ray instance.

在这里插入图片描述
在这里插入图片描述

线头5:遗传算法

正好有一个场景可以开始这个实践

可以先这么干,把要做的随机任务先发到RabbitMQ,然后算力机使用不同模型和数据进行随机训练打分。

然后,使用遗传算法优化随机选取的效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/712452.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超好用的几个提升知识储备的网站-搜嗖工具箱

和图书 https://www.hetushu.com/ 一个好用的免费看小说网站。和图书是一个提供各种热门电子书,书籍,小说免费在线阅读的网站,涵盖网游、玄幻、穿越、科幻、仙侠、都市、武侠、历史、竞技、军事灵异等多个种类的小说。在这个网站看小说最大的感触简单干净&#xff…

基于cortex-M3的rtos原理(上)

一、RTOS是什么? 下面是网上搜索到的定义: 看到系统一般会想到window,linux这种,但是rtos区别于它们的是占用资源小,实时性强,可以运行在资源受限的mcu上。一些soc厂商编写的sdk里带有添加“任务”的功能&…

Day03 链表概念与单向不循环链表的实现

目录 1、顺序表的优缺点 2、链式存储的线性表 3、单向不循环链表实现 1、顺序表的优缺点 顺序表的优点是: 由于顺序表数据元素的内存地址都是连续的,所以可以实现随机访问,而且不需要多余的信息来描述相关的数据,所以存储密度高。 顺序表的缺点是: 顺序表的数据在进行…

http穿透怎么做?

众所周知http协议的默认端口是80,由于国家工信部要求,域名必须备案才给开放80端口,而备案需要固定公网IP,这就使得开放http80端口的费用成本和时间成本变的很高。那么能不能利用内网穿透技术做http穿透呢?下面我就给大…

git回滚项目至指定版本

用过两种方式 1.使用git命令 进入到项目目录地址,使用git log查看提交版本信息 按q退出 若非对应分支,使用git checkout 分支名 切换分支 这里回退至上一个版本 git reset --hard 版本号 再次推送即可 这里需要使用-f命令 强行推送 2.在pycharm中…

Ps:管理动作和动作组

◆ ◆ ◆ 管理动作 管理“动作” Actions面板中的动作以使其具有条理性,并仅提供项目所需的动作,可以重新排列、复制、删除、重命名和更改动作选项等。 1、重新排列动作中的命令 在“动作”面板中,将命令拖动到同一动作中或另一动作中的新位…

使用gtest做cpp的单元测试并可查看代码覆盖率

前言 由于工作需要,要使用googletest做单元测试,本文记录下搭建gtest单元测试环境,并查看代码覆盖率的方法,以备不时之需。 准备工作 编译gtest 克隆gtest源码: git clone https://github.com/google/googletest.g…

Vue44-创建vue脚手架

一、Vue脚手架的版本说明 vue cli:command line interface 命令行接口工具 用最新的脚手架,这样可以兼容vue3荷vue2版本。 二、通过vue脚手架创建项目 注意: 执行npm run serve 启动项目的时候,要进入到创建的vue项目里面&…

Java高级特性

引言 Java不仅提供了基础的编程功能,还包括了一系列强大的高级特性,这些特性能够显著提高代码的灵活性、可扩展性和性能。本文将详细介绍Java的几个高级特性,包括反射机制、注解与注释、泛型编程、以及Lambda表达式与Stream API,并…

KVM+GFS分布式存储系统构建高可用群集

KVMGFS 分布式存储系统构建 KVM 高可用群集 一:理论概述 1.1:Glusterfs 简介 Glusterfs 文件系统是由 Gluster 公司的创始人兼首席技术官 Anand Babu Periasamy编写。 一个可扩展的分布式文件系统, 用于大型的、 分布式的、 对大量数据进行访…

CrossOver 2024软件安装包下载

CrossOver不像Parallels或VMware的模拟器,而是实实在在Mac OS X系统上运行的一个软件。CrossOvers能够直接在Mac上运行Windows软件与游戏,而不需虚拟机。它为Windows软件提供所需的资源,以达到在Mac OS X系统上运行Windows程序的目的。 安 装…

OpenCV形态学

什么事形态学处理 基于图像形态进行处理的一些基本方法; 这些处理方法基本是对二进制图像进行处理; 卷积核决定着图像出来后的效果。 一 图像二值化 什么是二值化 将图像的每个像素变成两种值,如0,255. 全局二值化。 局部二值化。 thres…

【AIGC】MetaGPT原理以及应用

目录 MetaGPT原理 MetaGPT应用 MetaGPT和传统编程语言相比有什么优势和劣势 视频中的PPT 参考资料 MetaGPT原理 MetaGPT是一种多智能体框架,它结合了元编程技术,通过标准化操作程序(SOPs)来协调基于大语言模型的多智能体系统…

商品搬家到抖店

使用的工具为 张飞搬家,登录上去 张飞搬家 1 复制商品的网址 商品链接复制过去后,点击下面的开始批量复制 2 检查修改商品信息 价格啊、图片啊、各种商品属性啊,检查下,不合适的修改和补充 3 开始搬家 4 查看商品 打开抖店后…

数据库基础(一)

目录 一、一些基本概念 1. 四个事务隔离级别 Read Uncommitted(读取未提交内容) Read Committed(读取提交内容) Repeatable Read(可重读) Serializable(可串行化) 2. MVCC&am…

Windows运维:找到指定端口的服务

运维过windows的或多或少都遇到过需要找到一个端口对应的服务,或者是因为端口占用,或者是想看下对应的服务是哪个,那么如何操作呢?看看本文吧。 1、按照端口找到进程ID 例如想找8000端口的进程ID netstat -ano | findstr :8000 2…

大模型算法备案全网最详细说明(附附件)

本文要点:大模型备案最详细说明,大模型备案条件有哪些,《算法安全自评估报告》模板,大模型算法备案,大模型上线备案,生成式人工智能(大语言模型)安全评估要点,网信办大模型备案。 共分为以下几…

【Numpy】一文向您详细介绍 np.floor()

【Numpy】一文向您详细介绍 np.floor() 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕,…

【操作与配置】Pytorch环境搭建

安装显卡驱动 显卡驱动是一种软件程序,用于控制显卡硬件与操作系统之间的通信和交互。显卡驱动负责向操作系统提供有关显卡硬件的信息,以及使操作系统能够正确地控制和管理显卡的各种功能和性能。显卡驱动还包含了针对不同应用程序和游戏的优化&#xff…

python生成验证码图片,结合接口供前端调用

🌈所属专栏:【python】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的…