
Python
文章平均质量分 67
Python
不二的AI笔记
不二的AI笔记,jasonz666@qq.com
展开
-
最新开源对话大模型glm-4-9b-chat本地部署使用
GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 GLM-4 系列中的开源版本。在语义、数学、推理、代码和知识等多方面的数据集测评中,GLM-4-9B 及其人类偏好对齐的版本 GLM-4-9B-Chat 均表现出较高的性能。除了能进行多轮对话,GLM-4-9B-Chat 还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等高级功能。本代模型增加了多语言支持,支持包括日语,韩语,德语在内的 26 种语言。原创 2024-06-07 15:31:06 · 3349 阅读 · 5 评论 -
AI语音模型PaddleSpeech踩坑(安装)指南
PaddleSpeech 是基于飞桨 PaddlePaddle 的语音方向的开源模型库,用于语音和音频中的各种关键任务的开发,包含大量基于深度学习前沿和有影响力的模型。要找到一个合适的PaddleSpeech版本与paddlepaddle适配非常困难!官方文档也没有明确告诉我们PaddleSpeech要与哪个版本的python、paddlepaddle、cuda版本适配,只能自己尝试。经过N多次尝试,终于找到了能用的版本。因此,请严格按照下文的步骤执行。原创 2024-05-12 00:43:44 · 6092 阅读 · 2 评论 -
Flask vs FastApi 性能对比测试
Flask和Fastapi都是Python下流行的Web框架,前者有大量拥趸,是一个老牌框架,后者相对较新,但是利用了异步技术和uvloop,都说性能比Flask好很多,于是就我就对比实测一下。原创 2024-04-17 18:00:07 · 2040 阅读 · 0 评论 -
Rocky8 顺利安装 Airflow 并解决数据库报错问题
rocky是替代centos的服务器系统,稳定可靠。rocky8会比centos7新,可以支持更多服务软件的安装,免去升级各种库的麻烦,本文运行airflow服务就用rocky8系统。airflow是一个定时任务管理系统,功能强大,目前是apache旗下的一个开源项目。话不多说,正文开始。原创 2024-01-24 20:15:02 · 910 阅读 · 0 评论 -
从问题中探索Celery的原理
后来一想celery后端用的是消息队列,如 redis 或 rabbitmq。我们的项目用的redis。redis里的消息队列叫 redis stream,有分组的概念,同一个组里的多个消费者可以不重复的消费队列里的消息,类似 rabbitmq 里的多个worker。最后也在代码中验证了这种猜想。由此得出结论:celery里应该有重载任务函数代码的机制。原创 2023-11-30 19:15:07 · 207 阅读 · 0 评论 -
flask蓝图钩子,以及before_request和before_app_request的区别
本文介绍一下蓝图的钩子,不要感到奇怪,Blueprint是为了能够在大型应用中对众多业务模块进行API分层次管理,因此一个blueprint也有使用钩子的必要。转载 2023-11-29 20:30:00 · 1029 阅读 · 0 评论 -
史上最详细注释,用flask写一个博客系统
文本用flask写个博客系统,源码带有详细注释,通俗易懂,拿去就能用。所有的文件,包括源码文件,测试文件,部署说明都在。为了简单,没有用MySQL数据,使用了Sqlite数据库。用来学习前后端开发,基于模板的后端开发,也能够学习python后端框架flask。原创 2023-11-03 00:04:58 · 465 阅读 · 0 评论 -
Python实现Redis缓存MySQL数据并支持数据同步
本文讲讲如何用Redis做MySQL的读缓存,提升数据库访问性能。MySQL是一种很常用的关系型数据库,用于持久化数据,并存放在磁盘上。但如果有大数据量的读写,靠MySQL单点就会捉襟见肘,尽管可以在MySQL本身做优化,比如用更好的SQL语句设计、索引等等。也会用主从设计集群设计来优化性能。甚至借助工具做成分布式数据库。不过还有一种简单的方式来提升读性能,就是在MySQL的前面放一个缓存,比如Redis。Redis是一种高性能的内存数据库,用作缓存非常合适。Redis还支持分布式集群,来优化读写性能。原创 2023-09-21 19:36:04 · 1127 阅读 · 0 评论 -
使用Python写俄罗斯方块,以游戏的方式学习编程
本文将用Python写一个终端版俄罗斯方块,用游戏的方式学习编程。原创 2022-10-12 23:09:56 · 3001 阅读 · 3 评论 -
自己手写调度器,理解Python中的asyncio异步、事件循环与协程
本文将从一段最简单的“顺序执行”代码开始,逐步深入,来理解Python的asyncio事件循环和协程的底层实现原理。先说下Python yield的作用,简单说就是在代码中可以 暂停/恢复 代码的执行,这是最关键的,这样就有机会中断函数的执行,把时间分配给其他函数,然后在适当时机从中断位置恢复。在Python中有yield的函数,叫生成器,协程就是基于生成器一步步发展而来。原创 2022-10-11 21:46:37 · 1733 阅读 · 0 评论 -
Python的asyncio到底在做什么?
Python的asyncio到底在做什么?本文总结协程的原理和使用场景。原创 2022-09-15 18:05:51 · 266 阅读 · 0 评论 -
Python中的协程与asyncio原理
本文从源码执行的角度,梳理Python的协程和asyncio的原理。原创 2022-08-28 11:14:38 · 502 阅读 · 0 评论 -
Python中的元编程
元编程什么是元编程?用代码来生成代码,或者说,用程序来生成程序,就叫元编程。Python能通过反射实现元编程。什么是元类?与元编程相关的一个概念是元类。什么是元类呢,具体到Python,用来创建类的类,就叫元类。元类是制造类的工厂。在Python中,一个普通类创建出来的东西是类的实例,实例是一个对象。而元类也是一种类,它创建出来的东西是另一个普通类,普通类也是一个对象(Python中一切皆对象),然后这个普通类,又可以创建出类的实例。所以说,元类是类的类。它们的构建过程如下图:Python中:原创 2021-08-23 00:36:28 · 481 阅读 · 0 评论 -
一文彻底搞懂 Python中的描述器、反射
本文详解描述器与反射的概念,并加以举例说明。原创 2021-08-21 13:27:51 · 416 阅读 · 0 评论 -
Python中的属性搜索顺序
属性:这里表示类(或类的实例)中的变量与方法的统称。所以搜索顺序包括:类的属性搜索顺序、类的实例的属性搜索顺序。下面是所有魔术方法同时出现的情况下,类或实例的属性搜索顺序。默认搜索顺序对于类,比如查找A.x。A是类,x是类的属性。类属性的默认搜索顺序:A自己的x(即A的属性字典__dict__) ⟶ A的父类的x [1] ⟶ 父类的父类的x… ⟶ object的x对于类的实例,比如查找a.x。a是A的实例,x是实例的属性。实例的默认搜索顺序:a自己的x(即a的属性字典__dict__) ⟶ A原创 2021-08-21 13:26:22 · 380 阅读 · 0 评论 -
一文彻底搞懂 Python中的装饰器、偏函数
装饰器要讲清楚装饰器,首先要知道一些前置概念。下文涉及到这些概念的地方,会展开讲述。什么是装饰器?装饰器是一种AOP(面向切面编程)的设计模式。面向对象编程往往需要通过继承或组合依赖等方式调用一些功能,这样可能造成代码的重复,增加了耦合。而AOP可以在需要的类或方法上切入,切入点可以增强功能,让调用者与被调用者解耦。这种不修改原来的业务代码,给程序动态添加(或修改)功能的技术,就是装饰器。装饰器可用于日志记录、监控、参数检查等地方。比如业务函数中不应该包含与业务无关的功能,那么可以构建一个lo原创 2021-08-19 22:41:13 · 555 阅读 · 0 评论 -
Python中的浮点数探秘
下面的探讨主要针对Python3,在Python2中不一定适用。查看Python的浮点数如何在内存中存储Python的浮点数实现原理:CPython实现有一个PyFloatObject的结构体,用来构造Python的浮点数类型:typedef struct {PyObject_HEAD # 这个对象包含:引用计数+对象类型,占8+8=16字节double ob_fval; # 这个是存储浮点数的地方,Python的浮点数就是C的double,即双精度浮点} PyFloatObject;原创 2021-08-12 17:36:45 · 3704 阅读 · 0 评论 -
【python学习笔记】Eclipse+PyDev搭建Python开发环境
1.简介Eclipse是一款基于Java的可扩展开发平台。其官方下载中包括J2EE方向版本、Java方向版本、C/C++方向版本、移动应用方向版本等诸多版本。除此之外,Eclipse还可以通过安装插件的方式进行诸如Python、Android、PHP等语言的开发。本文将要介绍的就是使用Eclipse与PyDev插件,安装Python开发环境的方法,其中写本文的一个主要原因就是几天前在一台电脑上安装P原创 2016-01-03 20:51:11 · 444 阅读 · 0 评论 -
【python学习笔记】如何说明import语句对模块导入的检查?
问题来自 learning python 中的一个练习题1,为什么交互模式导入 recur1 会报错? 2,为什么交互模式导入 recur2 不会报错? 3,作为文件运行 recur1.py 不会报错? 4,作为文件运行 recur2.py 会报错?recur1 和 recur2 文件内容如下# recur1.pyX = 1import recur2Y = 2# recur2.pyfr原创 2016-01-06 16:11:59 · 666 阅读 · 1 评论 -
【python学习笔记】模块导入的搜索路径顺序是什么?
搜索顺序应该是: 主目录 -》PYTHONPATH环境变量 -》标准库 -》.pth文件指定的内容 所以如果主目录里有一个自定义的模块文件文件,应该会先加载,然后后面标准库的模块文件可能就不会加载了,也就是隐藏了。还是实验一下: 创建一个sys.py在主目录下,以下是在windows的py3.5上实验的,sys.py内容:# filename sys.py in current working原创 2016-01-03 15:09:40 · 2512 阅读 · 0 评论 -
【python学习笔记】实现linux终端下的getch()函数
实现类似 win 命令行的 getch() 函数新建py文件vim getch.py输入如下内容import sys, termiosfd = sys.stdin.fileno()old = termios.tcgetattr(fd)new = termios.tcgetattr(fd)# turn off echo and press-enternew[3] = new[3] & ~ter原创 2016-01-10 23:45:35 · 1941 阅读 · 0 评论 -
【python学习笔记】写一个linux终端的贪吃蛇
code#!/usr/bin/env python"""file snake.py, run: python snake.pyWritten by Jason Zhao at 2016/1/10."""from __future__ import print_functionimport sys, time, termios, random, select# define global v原创 2016-01-11 10:34:47 · 875 阅读 · 0 评论 -
Python的多重继承和super
多重继承:super:不要一说到 super 就想到父类!super 指的是 MRO 表中的下一个类!super 其实干的是这件事:def super(cls, inst): mro = inst.__class__.mro() # Always the most derived class return mro[mro.index(cls) + 1]两...原创 2016-05-22 00:10:35 · 11851 阅读 · 1 评论 -
【python学习笔记】使用类封装实现贪吃蛇
使用类snake.py#!/usr/bin/env python"""file: snake.pyrun: python snake.pywritten by Zhao Jie at 2016-1-16"""from snake_module import *def main_loop(): # create snake instance game_inst = Snake原创 2016-01-17 01:04:39 · 639 阅读 · 0 评论