Mastering Traffic Control with throttled-py: A Comprehensive Guide to Python Rate Limiting

13 hours ago 高效码农

In the fast-paced world of web development, controlling traffic is a critical skill for developers. From preventing server crashes due to request surges to safeguarding APIs from misuse, rate limiting is a vital tool. This blog post explores throttled-py, a powerful Python library designed for efficient rate limiting. With support for multiple algorithms, flexible storage options, and stellar performance, throttled-py simplifies traffic management. In this 1,500-word guide, we’ll break down its features, algorithms, setup, and real-world applications to help you master traffic control in Python. Why Rate Limiting Is Essential Rate limiting is the backbone of modern traffic management. Without …

Firecrawl Technical Deep Dive: Efficient Web Data Extraction and Intelligent Processing

1 days ago 高效码农

Introduction: The Evolution of Data-Driven Technology In the rapidly advancing landscape of artificial intelligence and big data, efficient web data collection and structured processing have become critical capabilities for digital transformation. Firecrawl, as a next-generation web processing tool, offers an end-to-end solution that transforms raw web pages into actionable data. This article explores its technical architecture, key features, and practical applications while optimizing content for SEO. I. Core Technical Architecture 1.1 Multi-Dimensional Data Collection Modes Firecrawl supports four primary modes to address diverse use cases: Single-Page Scraping: Extracts content from a specified URL Full-Site Crawling: Automatically discovers and collects all …

Unsloth vs PEFT

1 months ago 高效码农

Compare Unsloth and PEFT for fine-tuning large language models. Discover how PEFT Unsloth Parameter-Efficient Fine-Tuning optimizes speed, memory, and resources.

Pydoll:用Python实现无驱动异步网页自动化,重新定义高效!

1 months ago 高效码农

在Web自动化领域,开发者常常被繁琐的WebDriver配置、验证码拦截和性能瓶颈所困扰。而今天,Pydoll 横空出世,彻底改变了这一局面!作为一个基于Python的异步Chromium自动化库,Pydoll不仅无需WebDriver,还原生支持绕过验证码,提供真实用户行为模拟,让自动化变得前所未有的简单和高效。 🌟 为什么选择Pydoll? 1. 彻底告别WebDriver! 传统工具如Selenium需要复杂的WebDriver配置,而Pydoll直接通过Chromium协议与浏览器通信,无需任何驱动!省去版本兼容性检查的烦恼,开箱即用。 2. 原生绕过验证码! 支持Cloudflare Turnstile和reCAPTCHA v3的自动绕过(当前需手动点击复选框,自动检测功能即将上线)。轻松应对反爬机制,专注业务逻辑。 3. 异步高性能! 基于Python的asyncio,支持并发操作多个页面,资源占用低,效率提升数倍。 4. 拟人化交互! 模拟真实用户的点击偏移、随机输入间隔、自然滚动,大幅降低被检测风险。 5. 强大的事件系统! 实时响应页面加载、元素点击等事件,实现智能化的动态交互。 🛠️ 核心功能一览 浏览器控制:启动即用,全局掌控 async with Chrome() as browser:     await browser.start()     # 同时管理多个页面     pages = [await browser.get_page() for _ in range(3)]     await browser.set_window_maximized()  # 一键最大化窗口 页面导航:无惧验证码拦截 page = await browser.get_page() await page.go_to(“https://site-with-captcha.com”) # 手动点击验证码复选框(自动检测即将上线) checkbox = await page.find_element(By.CSS_SELECTOR, “.captcha-iframe”) await checkbox.click() 元素操作:像真人一样交互 input_field = await page.find_element(By.CSS_SELECTOR, “input”) await input_field.type_keys(“Hello World”, delay=0.2)  # 模拟输入延迟 button = await page.find_element(By.CSS_SELECTOR, “button”) await button.click(x_offset=5, y_offset=10)  # 偏移点击更真实 高级特性:事件驱动与并发爬取 事件监听:实时响应页面状态 from pydoll.events.page import PageEvents await page.on(PageEvents.PAGE_LOADED, lambda e: print(“页面加载完成!”)) 10倍并发性能: async def scrape_page(page):     await page.go_to(“https://target-site.com”)     return await page.get_content() pages = [await browser.get_page() for _ in range(10)] results = await asyncio.gather(*(scrape_page(page) for page in pages)) 代理支持:隐藏IP无忧 options = Options() options.add_argument(“–proxy-server=user:pass@ip:port”) async with Chrome(options=options) as browser:     await browser.start() ⚡ 快速入门指南 1. 安装 pip install pydoll-python 2. 第一个脚本 import asyncio from pydoll.browser.chrome import Chrome from pydoll.constants import By async def main():     async with Chrome() as browser:         await browser.start()         page = await browser.get_page()         await page.go_to(“https://example.com”)         title = await page.get_title()         print(f”页面标题:{title}”) asyncio.run(main()) 🚨 注意事项 验证码处理:当前版本需手动定位并点击验证码复选框,后续版本将支持自动检测。 异步编程:建议熟悉asyncio基础,以充分利用Pydoll的性能优势。 兼容性:基于Chromium,需确保环境中已安装兼容版本。 🎉 立即行动! 无论是数据爬取、自动化测试,还是反反爬策略研究,Pydoll都是你的绝佳选择!访问GitHub仓库,探索完整文档、提交Issue或参与贡献,开启高效自动化之旅! 让Pydoll为你解决难题,专注创新,而非配置! 🚀

Manus:全球首款通用AI智能体如何掀起人机协作革命?

1 months ago 高效码农

2025年3月,一款名为Manus的AI产品刷爆全球科技圈。这款由中国团队开发的“通用型AI智能体”,不仅被冠以“全球首款”之名,更因其能独立完成复杂任务并交付成果的特性,被誉为“AI领域的ChatGPT时刻”。本文将从技术突破、应用场景、创始团队及行业影响等角度,解析Manus为何成为现象级产品。 一、技术突破:从“思考”到“行动”的跨越 与传统聊天机器人(如ChatGPT、Claude)不同,Manus的核心价值在于“知行合一”——它不仅生成建议,还能调用工具自主完成任务,最终交付用户可直接使用的成果。其技术亮点包括: 1. 自主规划与执行能力 Manus能拆解复杂任务为多个步骤,调用浏览器、代码编辑器、数据分析工具等,独立完成从信息搜集、代码编写到成果部署的全流程。例如,用户输入“制作《毁灭战士》网页版游戏”,Manus会自主编写代码、测试并部署可玩版本。 2. 云端异步协作 用户无需全程监督,Manus在云端独立运行任务,完成后通过通知交付结果。例如,上传25份简历后,Manus可异步筛选并生成候选人评估表,支持用户中途修改需求。 3. 多领域通用性 在GAIA基准测试(评估AI解决现实问题的能力)中,Manus在三个难度级别均超越OpenAI的同类产品,展示出跨领域的适应性。 这种“委托-交付”模式,标志着AI从辅助工具向“虚拟同事”的质变。 二、应用场景:解放生产力的50个用例 Manus的官方用例库覆盖教育、金融、生活、数据分析等数十个场景,以下是代表性案例: 1. 教育:从教案到互动课件 一位物理老师仅用一句提示词,即获得包含动量守恒定律动画的HTML课件。Manus自动生成演示动画、整理知识结构,甚至设计互动问答模块。 2. 金融:媲美专业分析师的报告 用户输入“特斯拉股票全面分析”,Manus在数小时内输出涵盖财务数据、市场情绪、技术分析、SWOT分析的百页报告,并附可视化图表与投资建议。 3. 生活:个性化旅行规划师 一对情侣的日本求婚旅行需求,被拆解为行程安排、景点推荐、预算分配、日语短语手册等任务。Manus甚至建议了奈良公园的隐秘求婚地点,并生成带地图的HTML旅行手册。 4. 数据分析:从Kaggle竞赛到商业洞察 Manus可自动参加Kaggle竞赛,编写代码并跻身前10%;也能分析电商销售数据,生成可视化图表与运营优化策略。 这些案例验证了Manus“一句话需求,全流程交付”的核心价值,覆盖从琐碎事务到专业决策的多元场景。 三、创始团队:90后连续创业者的AI野心 Manus的背后是一支低调却战绩斐然的中国团队: – 肖弘(Red Xiao):毕业于华中科技大学,连续创业者。其早期项目“微伴助手”服务超200万企业用户,2022年创立的AI助手Monica全球用户破千万。他擅长捕捉技术风口,将Manus定位为“AI应用生态的基础设施”。 – 季逸超(Peak Ji):首席科学家,斯坦纳推理模型开发者,曾登《福布斯》封面。他主导的Magi搜索引擎以语义理解见长,为Manus的复杂任务处理奠定技术基础。 团队选择以“浏览器插件”为切口(如Monica),降低用户使用门槛,同时积累多场景需求数据,最终孵化出通用型Agent Manus。 四、行业影响:AI平权与超级个体的崛起 Manus的爆火折射出两大趋势: 1. 技术平权:普通人无需编程或专业知识,即可完成股票分析、合同审查等专业任务,“技能鸿沟”被进一步弥合。 2. 超级个体赋能:个人可借助Manus同时处理市场调研、内容创作、数据分析等工作,效率堪比团队协作,推动“一人公司”模式普及。 然而,争议亦存: – 饥饿营销质疑:内测邀请码被炒至5万元,引发“炒作”争议。 – 实际效果待验证:尽管基准测试领先,但复杂任务(如财报深度分析)仍需人工复核。 五、未来展望:AI Agent的“电力革命” 如果说大模型是“发电厂”,Manus则像“电器”——将底层能力转化为实际生产力。其意义堪比电力时代电灯的普及:让AI从实验室走入日常。随着多模态能力增强,Manus可能进一步整合设计、3D建模等工具,成为真正的“数字员工”。 对中国AI产业而言,Manus的诞生证明:在应用层创新上,本土团队完全可能领先全球。正如肖弘所言:“世界不是线性外推的,要让自己成为博弈中的重要变量。” 访问Manus官网:https://manus.im/ (注:截至2025年3月6日,需邀请码方可体验内测功能)

pt-datasets 使用和报错解决

1 months ago 高效码农

项目描述 PyTorch 数据集;在部署自动编码器是一种旨在重建给定输入的神经网络。它通过学习数据的最显著特征来学习重建输入。这些显著特征被编码在潜在空间中,即比原始特征空间维度更低的特征表示。我们可以将自动编码器的潜在代码用于下游任务,例如分类、回归和聚类。在这个简单的例子中,我们使用文本的潜在代码表示通过 k-Means 算法进行聚类。这项工作的目的不是达到最先进的性能,而是展示来自自动编码器的潜在代码可用于下游任务,就像我们如何使用来自主成分分析、线性判别分析和局部线性嵌入的特征一样的ag-news-ae-clustering项目是pip安装pt-datasets时很吃力,特此记录。 概述 此存储库旨在让您更轻松、更快速地访问常用的基准数据集。使用此存储库,您可以以现成的方式将数据集加载到 PyTorch 模型中。此外,它还可用于加载使用 PCA、t-SNE 或 UMAP 编码的上述数据集的低维特征。 数据集 MNIST Fashion-MNIST EMNIST-Balanced CIFAR10 SVHN MalImg AG News IMDB Yelp 20 Newsgroups KMNIST Wisconsin Diagnostic Breast Cancer 用法 建议使用虚拟环境来隔离项目依赖关系。 $ virtualenv env –python = python3 # 我们使用 python 3 $ pip install pt-datasets # 安装包 然后我们可以使用该包加载现成的数据加载器, from pt_datasets import load_dataset, create_dataloader # 加载训练和测试数据 train_data , test_data = load_dataset ( name = “cifar10” ) # 为训练数据创建数据加载器 train_loader = create_dataloader ( dataset = train_data , batch_size = 64 , shuffle = True , num_workers = 1 ) 使用数据加载器训练 模型. fit ( train_loader , epochs = 10 ) 我们还可以将数据集特征编码到低维空间, …

DeepSeek开源周第五日:探秘3FS与SmallPond的黄金组合

1 months ago 高效码农

当AI遇上海量数据:探秘3FS与SmallPond的黄金组合 一、Fire-Flyer文件系统(3FS)——AI时代的存储引擎 核心设计理念 这个被命名为”萤火虫”的分布式文件系统,如同它的名字般在AI训练场景中闪烁着独特光芒。其三大核心设计犹如三重引擎: 解耦式架构: 将数千块SSD的吞吐能力与数百个存储节点的网络带宽智能整合,就像把无数萤火虫的光亮汇聚成灯塔。这种设计让应用程序无需关心数据物理位置,真正实现”哪里需要点哪里”的存储体验。 强一致性保障: 采用CRAQ协议确保数据一致性,开发者可以像操作本地文件一样放心使用,彻底告别分布式系统常见的数据同步噩梦。 无感兼容设计: 保留传统文件接口的同时,底层采用事务型键值存储(如FoundationDB)。开发者无需学习新API,现有代码几乎零成本迁移。 性能怪兽的实战表现 吞吐力测试:在180个存储节点、500+客户端的集群中,读取吞吐量达到惊人的6.6TiB/s,相当于每分钟传输400部4K电影 排序挑战赛:110.5TB数据排序仅用30分钟,平均吞吐3.66TiB/min,刷新GraySort基准测试记录 推理加速器:KVCache技术实现40GiB/s读取吞吐,用SSD缓存替代昂贵DRAM,推理成本直降70% 二、SmallPond——轻量级数据处理神器 极简哲学三要素 DuckDB内核:这个嵌入式分析库就像数据处理界的瑞士军刀 无服务架构:告别复杂的环境配置,开箱即用的设计让开发效率倍增 智能分区:自动哈希分片技术让PB级数据处理举重若轻 # 典型使用场景示例import smallpondsp = smallpond.init()# 数据加载与处理df = sp.read_parquet(“大数据集.parquet”)df = df.repartition(哈希列=”用户ID”)  # 智能分片# SQL魔法变换df = sp.partial_sql(“SELECT 用户ID, SUM(消费额) FROM {0} GROUP BY 用户ID”, df)# 结果输出df.write_parquet(“分析结果/”) 性能实测对比 数据规模 传统方案耗时 SmallPond耗时 1TB 45分钟 8分钟 10TB 6小时 35分钟 100TB 3天 5小时 三、黄金组合实战图谱 graph LR A[原始数据] –> B{3FS存储集群} B –> C[SmallPond预处理] C –> D[训练数据集] D –> E[分布式训练] E –> F[模型检查点] F –> B E –> G[推理服务] G –> H[KVCache] H –> B 典型应用场景 智能推荐系统: 3FS实时存储用户行为数据 SmallPond分钟级生成特征矩阵 训练/推理共享存储,数据流转效率提升5倍 自动驾驶训练: 千万级标注数据秒级读取 分布式训练检查点写入速度达800GiB/s 模型迭代周期从周缩短到天 金融风控建模: PB级交易数据实时分析 百亿级特征维度秒级处理 规则更新延迟降低至分钟级 四、开发者成长路径 对于转型AI开发的程序员,建议分三步走: 基础掌握:理解3FS的CRAQ协议与SmallPond的分区策略 场景实践:从单机部署开始,逐步过渡到多节点集群 性能调优:掌握网络拓扑感知、数据本地化等进阶技巧 这套组合拳不仅降低了分布式系统开发门槛,更将数据处理效率提升到新高度。当AI遇见海量数据,3FS与SmallPond这对黄金搭档正在重新定义存储与计算的边界。

通俗易懂的关于 MCP 协议介绍

1 months ago 高效码农

什么是 MCP?给大模型装个”万能接口”的新协议 最近AI圈有个新协议火了,它有个像机器人编号的名字叫 MCP(Model Context Protocol)。简单来说,它就像给大模型装了一个”万能接口”,让AI助手可以安全地连接你的文件、数据库甚至公司系统。 为什么需要这个协议? 想象一下ChatGPT突然能读取你的Excel表格,或者Claude能直接查公司数据库,是不是很酷?但现实中,每个程序都要单独开发对接接口,费时费力还不安全。 MCP 就像给所有AI程序制定了统一的”插座标准”:一端连接大模型,另一端连接任何数据源,插上就能用。 三大核心部件 智能插座(MCP Server) 装在电脑上的轻量程序,专门负责和你的文件/数据库打交道。比如GitHub插件、财务系统接口都算这类”插座”。 电源线(MCP Client) 内嵌在AI程序里的连接器,像Claude桌面版就自带这个部件,负责把AI的请求翻译成插座能听懂的语言。 用电设备(MCP Host) 最终使用这些数据的AI应用,比如帮你分析报表的智能助手,或者自动写代码的编程AI。 实际怎么用? 普通用户可能已经用上了却不知道!当你使用最新版Claude时: 安装一个「文件阅读插件」(这就是MCP Server) 直接对话:”帮我总结上周的会议记录” Claude通过MCP协议安全读取本地文档,生成摘要 开发者可以用Spring框架快速接入: <dependency> <groupId>org.springframework.experimental</groupId> <artifactId>spring-ai-mcp</artifactId> </dependency> 通过标准化接口,就能让AI连接SQL数据库、云文档甚至物联网设备。 这个协议有多重要? 安全隔离:AI只能通过指定”插座”访问数据,不会直接接触原始文件 生态爆发:已有上百种”插座”适配GitHub、Notion等常用工具 跨平台:无论本地电脑还是云端服务器,插上就能用 目前Anthropic、Spring等大厂都在积极布局,或许不久的将来,每个办公软件都会自带MCP接口,让AI真正成为你的数字同事。 以下是用Python伪代码模拟MCP协议的实现逻辑,每个组件都有通俗注释: # MCP Server(智能插座) class MCPServer: def __init__(self, service_name): self.service_name = service_name # 服务类型(如文件阅读/数据库) def start(self): """启动服务,就像打开插座电源""" while True: request = self._wait_for_request() # 持续监听请求 response = self.handle_request(request) self._send_response(response) def handle_request(self, request): """处理具体请求(伪代码示例)""" if request.type == "file_read": return self._read_file(request.path) elif request.type == "sql_query": return self._query_database(request.sql) else: return {"error": "不支持的操作"} # 具体服务实现(例如文件服务) class FileServer(MCPServer): def _read_file(self, path): """实际读取文件的逻辑(这里简化为伪代码)""" return {"content": f"这是{path}的内容…"} # ——————————————————– # MCP …

ollama部署DeepSeek报错

2 months ago 高效码农

报错信息 pull model manifest: 500: {"errors":[{"code":"INTERNAL_ERROR","message":"internal error"}]} 使用过程 今天在使用ollama部署DeepSeek-r1时,输入命令:ollama run deepseek-r1:671b,出现报错pull model manifest: 500: {"errors":[{"code":"INTERNAL_ERROR","message":"internal error"}]} 尝试pull其他模型也报同样错误,判断为ollama服务器错误;在github issues提交错误信息,很多用户出现相同问题;同时ollama也注意到相关问题。 目前问题已经解决

Step-by-Step Guide to Configuring Parameters for xhs_ai_publisher

2 months ago 高效码农

xhs_ai_publisher Project Overview xhs_ai_publisher is an automation tool specifically designed for publishing articles on the Xiaohongshu platform. This project combines a graphical user interface with automation scripts, leveraging large model technology to generate content. It automates browser login and article publishing, aiming to simplify the content creation and publishing process. Features User Login: Log into the Xiaohongshu account using a phone number, with support for automatic saving and loading of login credentials. Content Generation: Automatically generate article titles and content using large model technology. Image Management: Automatically download and preview cover images and content images. Article Preview and Publishing: Preview …

Python操作PDF实例:提取超链接、下载、修改超链接

2 months ago 高效码农

1、提取 PDF 中的超链接 该函数从PDF文件中提取所有链接及其对应的文字: 1.打开PDF文件并遍历每一页。 2.获取每页中的链接信息,检查是否包含URI。 3.提取链接对应的文本,若无则标记为“Unnamed”。 4.将链接的文本、URI、所在页码和矩形位置存入字典,并添加到结果列表中。 5.返回包含所有链接信息的列表。 def extract_links_from_pdf(pdf_path): """从PDF文件中提取所有链接及其对应的文字""" links = [] doc = fitz.open(pdf_path) for page_num in range(len(doc)): page = doc[page_num] for link in page.get_links(): if "uri" in link: link_text = ( page.get_text("blocks", clip=link["from"])[0][4].strip() if link["from"] else "Unnamed" ) links.append({ "text": link_text, "uri": link["uri"], "page_num": page_num, "rect": link["from"] }) return link 2、下载文件并获取链接映射 该函数根据链接列表下载文件并保存到指定目录,主要功能如下:1.创建输出目录:如果目录不存在则创建。2.遍历链接列表: 提取链接文字和URL。 生成合法的文件名,并检查文件是否已存在,若存在则跳过下载。 3.下载文件: 使用requests.get下载文件,分块写入本地。 处理下载错误并打印提示信息。 4.返回已下载文件的字典:键为URL,值为文件路径。 def download_files(links, output_dir): """根据链接下载文件并按照链接文字命名,如果已下载则跳过""" os.makedirs(output_dir, exist_ok=True) downloaded_files = {} for link in links: link_text = link["text"] url = link["uri"] # 确保文件名合法 sanitized_filename = "".join(c if c.isalnum() or c in "._-" else "_" for c in link_text) file_name …

Core ML Tools在Google Colab中使用教程

4 months ago 高效码农

一、前言 Core ML Tools 可以将来自其他框架的训练模型转换为 Core ML 模型的内存表示。此示例演示了如何将使用TensorFlow 的 Keras API训练的图像分类器模型转换为 Core ML 格式。 二、如何将Colab的python版本切换为Core ML Tools可用的? 1、下载需要的版本 !sudo apt-get update -y !sudo apt-get install python3.7 2.切换 !sudo update-alternatives –install /usr/bin/python3 python3 /usr/bin/python3.7 1 3.看版本 !python –version 4.安装相应版本的这个d # 安装 python3-distutils !sudo apt-get install python3.7-distutils 5.安装pip !sudo apt-get install python3-pip !python -m pip install –upgrade pip 三、安装依赖 !pip install tensorflow==2.2.0 h5py==2.10.0 numpy==1.21 Pillow !pip install -U coremltools

宝塔安装PHP7.2和PHP8.1 PHP-FPM重启问题

9 months ago 高效码农

问题描述 宝塔安装了安装PHP7.2和PHP8.1,最近发现服务器内容一直慢慢升高;查看进程发现PHP-FPM 8.1 每隔10分钟重启,重启过程中报错,并且会重新启动2个PHP-FPM 8.1的进程,同时kill掉之前启动2个中的一个进程,所以进程会一直增加,子进程也在一直增加最终导致将内存占满。 ERROR: Another FPM instance seems to already listen on /tmp/php-cgi-81.sock ERROR: FPM initialization failed 网上大部分解决方案是删除/tmp/php-cgi-81.sock 重启php-fpm进程。经测试无效~~~升级PHP版本、重新安装PHP均无效。 解决方案 这是我的解决方案,不知道是不是有普适性,供大家参考 在目录/www/server/panel/vhost/nginx中找到phpfpm_status.conf配置文件 添加代码 location /phpfpm_81_status { fastcgi_pass unix:/tmp/php-cgi-81.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; } 问题得到解决,但是原因未知,不知道为什么每隔10分钟会重启php-fpm进程,也不知道为啥加上这个配置就可以了;对比了测试环境和开发环境都没加这个配置也没有问题。如果有大佬知道原因敬请告知

如何使用命令行或 Python 在 Mac 上免费使用 OCR

10 months ago 高效码农

操作步骤如下: 在“应用程序”文件夹中打开“快捷方式”应用 点击“ + ”按钮创建新的快捷方式 在右侧边栏中搜索“提取文本” 您应该在可能的操作列表中看到“从图像中提取文本”。将其从右侧边栏拖到左侧的主区域 在左侧的“从…中提取文本”操作中,单击淡蓝色的“图像” 选择“快捷输入” 你会看到一个大大的“从任何地方接收任何输入”操作出现在“从快捷方式输入中提取文本”上方。一切都很好,保持原样 在右侧边栏中,搜索“复制”。你应该看到“复制到剪贴板”。将该操作拖到“从…中提取文本” 操作下方 将“复制到…”操作拖到“从…提取”下方确实很难。只需继续将其拖到下面,它就会在某个时候起作用 shortcuts run ocr-text -i <A PATH TO SOME IMAGE> 从 python,您可以执行以下操作 import subprocess file_path = ‘… some file path …’ ocr_out = subprocess.check_output( f’shortcuts run ocr-text -i "{file_path}"’, shell=True ) print(ocr_out)

RNN tensorflow 集锦问题汇总

1 years ago 高效码农

一、建Embeddin层优化 1、报错信息:Unrecognized keyword arguments passed to Embedding:{‘batch_input_shape’: [64, None]} 2、模型配置可优化 在创建Embedding层时,使用了batch_size作为参数。这在某些情况下可以加速初始化过程,但不是必须的,且可能会导致在不同batch大小上重复使用模型时出现问题。通常,我们建议不指定batch_size,让Keras在运行时根据实际情况决定。 3、解决方案:移除batch_size参数 # 创建模型 model = tf.keras.Sequential([ tf.keras.layers.Embedding(vocab_size, embedding_dim), tf.keras.layers.GRU(rnn_units, return_sequences=True, stateful=False, recurrent_initializer=’glorot_uniform’), tf.keras.layers.Dense(vocab_size, activation=None) # 可根据任务调整激活函数,默认为None ]) 二、错误信息 When using save_weights_only=True in ModelCheckpoint, the filepath provided must end in .weights.h5 (Keras weights format). Received: 解决方案: 根据错误提示,当在 tf.keras.callbacks.ModelCheckpoint 中设置 save_weights_only=True 时,保存路径(filepath)应以 .weights.h5 结尾。为了修正这个问题,请修改检查点文件名格式。以下是修复后的代码: # %% # 进行训练 # 检查点保存至的目录 checkpoint_dir = ‘/training_checkpoints’ # 检查点的文件名格式,确保以 .weights.h5 结尾 checkpoint_prefix = os.path.join(checkpoint_dir, "ckpt_{epoch:02d}.weights.h5") # 训练的回调 checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_prefix, save_weights_only=True) # 进行训练 history = model.fit(dataset, epochs=20, callbacks=[checkpoint_callback])

使用PyCharm创建虚拟环境项目导入环境变量

1 years ago 高效码农

在 PyCharm 中设置和导入环境变量可以通过以下步骤完成: 打开 PyCharm 并选择你的项目。 导航到 “Run” -> “Edit Configurations”。 在 “Environment variables” 部分,你可以手动设置环境变量,或者使用 “+” 和 “−” 按钮来添加或删除变量。 如果你想要导入现有的环境变量,可以点击 “Import” 按钮,然后选择 “System environment” 或者 “Known envs”。 export命令作用 在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

Python 打包 2023 年回顾

1 years ago 高效码农

A year ago, I wrote about the sad state of Python packaging. The large number of tools in the space, the emphasis on writing vague standards instead of rallying around the One True Tool, and the complicated venv-based ecosystem instead of a solution similar to node_modules. What has changed in the past year? Has anything improved, is everything the same, or are things worse than they were before? 一年前,我写了一篇关于Python打包的悲惨状态的文章。该领域的大量工具,强调编写模糊的标准而不是围绕一个真正的工具,以及复杂的 venv 基于生态系统而不是类似于 node_modules .在过去的一年里发生了什么变化?有什么改进吗,一切都一样,还是比以前更糟? The tools 工具 The original post listed a bunch of packaging tools, calling fourteen tools at least twelve too many. My idea with that was that most people …

Python常用三方库

1 years ago 高效码农

Python常用三方库,小编根据工作经验分了下类,仅供参考: 后端框架类、办公类、数据分析类、爬虫类、GIS类、人工智能类等。 一、后端框架类 1、Django Django 是Python中最为流行的Web框架之一,它提供了完整的Web开发支持,包括ORM、模板引擎、路由、中间件等功能。 2、Flask Flask 是Python中最为常用的Web框架之一,它提供了轻量级的Web开发支持,同时也支持RESTful API的开发。 3、FastAPI FastAPI是一个用于构建API的现代、快速(高性能)的web框架,使用Python 3.8+并基于标准的Python类型提示。 二、办公类 1、openpyxl openpyxl 是一个处理 Microsoft Excel 文档的 Python 第三方库,它支持读写的 Excel 的 xls、xlsx、xlsm、xltx、xltm 等格式文件,并进一步处理 Excel 文件中的工作表、表单和数据单元。 2、xlrd xlrd 模块可以用于读取Excel的数据,速度非常快,推荐使用! 3、xlwt xlwt 可以用于写入新的Excel表格或者在原表格基础上进行修改,速度也很快,但是只支持xls格式! 4、xlutils xlutils 可用于拷贝原excel或者在原excel基础上进行修改,并保存。 三、数据分析类 1、numpy numpy 是 Python 的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组(ndarray),简称“数组”。这个库可用来存储和处理大型矩阵,比 Python 语言提供的列表结构要高效的多。 2、pandas pandas是基于numpy扩展的第一个重要的第三方库,它是为解决数据分析任务创建的。提供了一批标准的数据模型和大量快速便捷处理数据的函数和方法,提供了高效地操作大型数据集所需的工具。 3、scipy scipy 是一款方便、易用、转为科学和工程设计的Python工具包,是在numpy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。 4、Matplotlib Matplotlib 是Python中最常用的绘图库之一,它可以生成各种类型的统计图表,如折线图、散点图、柱状图等,支持各种格式的输出。 四、爬虫类 1、Requests Requests 是Python中最为常用的HTTP库之一,它提供了简洁的API,使得开发者可以轻松地进行HTTP请求的发送和处理。 2、Httpx Httpx 是 Python 3 的全功能 HTTP 客户端,它提供同步和异步 API,并支持 HTTP/1.1 和 HTTP/2。 3、Scrapy Scrapy 是Python中最为常用的爬虫框架之一,它提供了完整的爬虫开发支持,包括HTTP请求、数据解析、数据存储等功能。 4、Beautiful Soup Beautiful Soup 是Python中最为常用的HTML解析库之一,它可以将HTML文档解析为Python对象,使得开发者可以更加方便地进行数据解析和数据提取。 5、Playwright Playwright 是微软在 2020 年初开源的新一代自动化测试工具,它的功能类似于 Selenium、Pyppeteer 等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API 功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。 6、DrissionPage DrissionPage 是基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。 五、GIS类 1、GDAL GDAL 是读写大量的栅格空间数据格式的广泛应用的开源库。 2、shapefile shapefile 是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point)、线(polyline)和多边形(polygon)。 3、shapely shapely 是专门做图形计算的包,基本上图形线段,点的判断包里都有,实现的几何对象的基本类型是点、曲线和曲面。 六、人工智能类 …

python 伪原创 近义词替换

1 years ago 高效码农

简介 对于搜索引擎SEO,很多运营人员都有快速输出文章并添加到网站;以期搜索引起快速收入并提高排名的要求。现实是哪怕是李白也只是在喝完一斗酒才能诗百篇。运营人员或者编辑人员需要的是在短时间内能够生成伪原创文章,根据已有文章生成伪原创。 思路: 首先通过Scan函数获取文件夹中的文件路径列表,然后通过Read函数读取文件内容,并提取出标题和文章内容。接着使用正则表达式提取出标题和文章内容,并去除不需要的部分。然后使用jieba库对文章内容进行分词,并根据词性选择近义词替换。最后将替换后的标题和文章内容写入文件。在if name == ‘main’:条件下运行,即在直接运行该文件时执行run函数,开始文本处理的过程。 其中近义词的替换需要用到synonyms;synonyms可以用于自然语言理解的很多任务:文本对齐,推荐算法,相似度计算,语义偏移,关键字提取,概念提取,自动摘要,搜索引擎等。 代码解析: def Scan(): dir_list = os.listdir(‘./demo_txt’) return dir_list 这个函数Scan()使用os模块的listdir()方法来获取当前目录(’./demo_txt’)下的所有文件和文件夹,并将这些项目的名字存储在一个名为dir_list的列表中。最后,这个函数返回这个列表。 def Read(path): with open(‘./demo_txt/’ + path, ‘r’, encoding=’utf-8′) as f: content = f.read() title_list = re.findall(‘<title=(.*?)>’, content) title = title_list[0] if len(title_list) != 0 else None article_list = re.findall(‘<neirong=([\s\S]*)>’, (content.replace(‘\n’, ”)).replace(‘<p>’, ”)) article = article_list[0] if len(article_list) != 0 else None words_list = [] string_list = article.split(‘</p>’) for string in string_list: if string != ”: words_list.append(string) if title is not None and len(words_list) > 0: return title, words_list else: return None, None def write(path,content): with open(‘./new_txt/’ + path, ‘a+’, encoding=’utf-8′) as f: f.write(content) …

轻松处理表格数据集的 Python 库tablib实现数据导出为json/csv/excel等常见格式

1 years ago 高效码农

简介: tablib允许您导入、导出和操作表格数据集。高级功能包括隔离、动态列、标签和过滤以及无缝格式导入和导出。 安装 当然,推荐的安装 Tablib 的方法是使用pip: $ pip install tablib 您还可以选择安装更多依赖项以获得更多可用的导入/导出格式: $ pip install "tablib\[xlsx\]" 或所有可能的格式: $ pip install "tablib\[all\]" 这相当于: $ pip install "tablib\[html, pandas, ods, xls, xlsx, yaml\]" 使用 让我们从一些简单的用例和示例开始。 创建数据集¶ ADataset顾名思义就是一组数据。 创建您自己的对象实例tablib.Dataset很简单。 data = tablib.Dataset() 您现在可以开始用Dataset数据填充该对象。 示例上下文 从现在开始,如果您看到data,则假设它是一个新 Dataset对象。 添加行¶ 假设您想要收集一个简单的姓名列表。 # collection of namesnames = [‘Kenneth Reitz’, ‘Bessie Monke’] for name in names: \# split name appropriately fname, lname \= name.split() \# add names to Dataset data.append(\[fname, lname\]) 您可以随时使用以下命令获得数据集的漂亮 Python 视图Dataset.dict: >>> data.dict[(‘Kenneth’, ‘Reitz’), (‘Bessie’, ‘Monke’)] 添加标头¶ 是时候Dataset通过给我们的专栏一些标题来增强我们的内容了。为此,请设置Dataset.headers. data.headers = [‘First Name’, ‘Last Name’] 现在我们的数据看起来有点不同。 >>> data.dict[{‘Last Name’: ‘Reitz’, ‘First Name’: ‘Kenneth’}, {‘Last Name’: ‘Monke’, ‘First …