几个开发大模型应用常用的Python库

文本转语音常用的几个python库 在Python编程领域,文本到语音(Text-to-Speech, TTS)的转换是一个常见的需求,尤其是在开发能够与用户交互的应用程序时。以下是几个流行的Python库,它们可以帮助开发者实现文本到语音的转换,并且有的可以将转换后的语音保存为MP3文件。 阅读详情
AI摘要

本文介绍了使用Python构建可靠、可扩展和高效AI应用程序的相关库,如FastAPI、Jinja等,还提及数据管理、API集成等方面。同时给出大模型AI的学习方案,包括初阶应用、高阶应用、模型训练和商业闭环四个阶段,并提供免费学习资料获取方式。

01

应用层开发

(1)FastAPI

FastAPI是构建API的优选。顾名思义,它快速、简单,并能与Pydantic完美集成,实现无缝数据验证。

from fastapi import FastAPI``from pydantic import BaseModel``   ``app = FastAPI()``   ``class Item(BaseModel):`    `name: str`    `price: float``   ``@app.post("/items/")``async def create_item(item: Item):`    `return {"name": item.name, "price": item.price}

(2)Jinja

Jinja是一个模板引擎,用于创建动态提示,它简单而强大,在管理复杂的提示逻辑方面起着关键作用。

from jinja2 import Template``   ``template = Template("Hello {{ name }}!")``print(template.render(name="Raj"))

02

任务调度

有时候系统需要处理繁重的工作,Celery库可以帮助跨多个线程或机器分配任务。即使在要求苛刻的操作中,也能保持应用程序的响应速度。

from celery import Celery``   ``app = Celery('tasks', broker='redis://localhost:6379/0')``   ``@app.task``def add(x, y):`    `return x + y

03

数据管理

数据是AI的基础,目前比较常用的两种数据库:PostgreSQL和MongoDB,分别对应着结构化和非结构化数据。

(1)连接

一般使用psycopg2管理Postgre SQL,使用PyMongo管理MongoDB。

import psycopg2``   ``conn = psycopg2.connect(`    `dbname="example", user="user", password="password", host="localhost")``cursor = conn.cursor()``cursor.execute("SELECT * FROM table")``rows = cursor.fetchall()``print(rows)

(2)简化数据操作

SQLAlchemy可以实现Python API管理数据库操作,相比SQL,这更干净,更高效。

from sqlalchemy import create_engine, Column, Integer, String``from sqlalchemy.ext.declarative import declarative_base``from sqlalchemy.orm import sessionmaker``   ``Base = declarative_base()``   ``class User(Base):`    `__tablename__ = 'users'`    `id = Column(Integer, primary_key=True)`    `name = Column(String)``   ``engine = create_engine('sqlite:///example.db')``Base.metadata.create_all(engine)

04

API集成

将AI大模型集成到应用程序是最重要的步骤,实际上我们的应用就像是LLM的客户端,OpenAI、Anthropic和Google API 这些库都是AI应用集成常用的。

import openai``   ``openai.api_key = "your-api-key"``response = openai.Completion.create(`    `engine="text-davinci-003",`    `prompt="Write a Python function to add two numbers.",`    `max_tokens=100``)``print(response.choices[0].text.strip())

05

数据处理

(1)结构化

如果应用想从LLM中得到可靠的结构化输出,那么Instructor库是一个很好的选择。它可与各种模型配合使用,并且提供了高级数据验证功能。

from instructor import Instructor``   ``instructor = Instructor(api_key="your-api-key")``response = instructor.get_response(prompt="What is the capital of France?", model="text-davinci-003")``print(response)``   

(2)LangChain和LlamaIndex:

这些框架简化了使用大型语言模型的工作。在一些场景下它们可以容简化提示管理和嵌入之类的复杂任务,使其易于入门。

from langchain.chains import LLMChain``from langchain.llms import OpenAI``   ``llm = OpenAI(temperature=0.7)``chain = LLMChain(llm=llm)``response = chain.run("What is 2 + 2?")``print(response)``   

(3)向量数据库

许多AI应用程序,例如RAG,依赖于存储上下文,以便于后续进行检索。

往往会使用到向量数据库存储向量以及执行相似性搜索,例如:Pinecone、Weaviate和PGVector。

import pinecone``   ``pinecone.init(api_key="your-api-key", environment="us-west1-gcp")``index = pinecone.Index("example-index")``index.upsert([("id1", [0.1, 0.2, 0.3])])``result = index.query([0.1, 0.2, 0.3], top_k=1)``print(result)

(4)DSPy

DSPy有助于自动优化提示,在微调AI响应时节省大量时间以及猜测。

from dsp import PromptOptimizer``   ``optimizer = PromptOptimizer()``optimized_prompt = optimizer.optimize("Write a poem about space.")``print(optimized_prompt)

(5)PyMuPDF和PyPDF2

如果AI应用需要从PDF或文档中提取数据,这些库是靠谱的选择。

import fitz``   ``doc = fitz.open("example.pdf")``for page in doc:`    `print(page.get_text())

(6)Pydantic

人工智能项目经常需要处理混乱、不可预测的数据,Pydantic优雅地可以清理、组织数据。

from pydantic import BaseModel``   ``class User(BaseModel):`    `name: str`    `age: int`    `email: str``   ``user = User(name="rose", age=30, email="rose@example.com")``print(user.dict())

06

跟踪观察

大模型应用的开发不是一触而就,开发只是第一步,在开发完之后还需要持续监控它的执行状况并对其优化。

Langsmith和Langsmith,这两个平台适合用于跟踪LLM调用情况,包括延迟、成本和输出等关键数据。

from langfuse import LangFuse``   ``langfuse = LangFuse(api_key="your-api-key")``langfuse.log_interaction(prompt="What is 5 + 5?", response="10", latency=0.3)

以上这些Python库可以用于构建可靠、可扩展和高效的AI应用程序。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

开发大模型应用常用的 Python 库 将AI大模型集成到应用程序是最重要的步骤,实际上我们的应用就像是LLM的客户端,OpenAI、Anthropic和Google API 这些库都是AI应用集成常用的。数据是AI的基础,目前比较常用的两种数据库:PostgreSQL和MongoDB,分别对应着结构化和非结构化数据。这些框架简化了使用大型语言模型的工作。Jinja是一个模板引擎,用于创建动态提示,它简单而强大,在管理复杂的提示逻辑方面起着关键作用。大模型应用的开发不是一触而就,开发只是第一步,在开发完之后还需要持续监控它的执行状况并对其优化。 阅读详情

相关推荐

【大模型应用开发-python基础】(一)python安装

Python3 最新源码,二进制文档,新闻资讯等可以在 Python 的官网查看到:你可以在以下链接中下载 Python 的文档,你可以下载 HTML、PDF 和 PostScript 等格式的文档。

1422

【Python开发】大模型应用开发项目整理

数据抓取和利用GenAI做数据提取。

小张同学的博客 1372

【大模型应用开发-python基础】(十二)python迭代器与生成器

迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。和。字符串,列表或元组对象都可用于创建迭代器。

429

大模型应用开发岗位必备技能详解

Python 是当前人工智能和大模型领域事实上的标准编程语言生态丰富:拥有最全面、最成熟的AI和数据处理库(如NumPy, Pandas, Scikit-learn, PyTorch, TensorFlow, Hugging Face Transformers等),极大简化开发流程。简洁易学:语法清晰,开发效率高,适合快速原型验证和迭代。社区强大:拥有庞大的开发者社区,遇到问题容易找到解决方案和资源。框架支持。

HKAQGS的博客 713

Python开发环境及常用库全面指南

在这一章节中,我们将探讨设置Python开发环境的基础,无论是对于初学者还是经验丰富的开发者,这都是开发过程中不可或缺的一步。接下来,开发者通常会选择一个集成开发环境(IDE)或代码编辑器来编写和运行代码。Python拥有多种强大的IDE和编辑器,包括但不限于PyCharm、VSCode、Jupyter Notebook、Spyder以及IDLE。每种工具都有其独特的功能,比如代码自动补全、调试工具、插件支持等,开发者可以根据个人喜好和项目需求选择合适的工具。

weixin_35307279的博客 1303

auboi5 + d435i 使用easy handeye进行标定时,遇到相关问题记录。

解决办法:在easy_handeye默认的 calibrate.launch 文件中move group 的默认值为 "manipulator",但针对每个人的机械臂,这个值需要更改。以aubo_i5为例,需要将其改为"manipulator_i5",或者自己编写launch文件时,传入参数move group的值,便能顺利解决问题!easy_handeye_calibration_server 进程出现崩溃。

weixin_61025092的博客 958

python常用的几个库_盘点Python常用的20个库

1、Requests。最着名的http库由kenneth reitz编写。这是每个python开发人员必备的。2、Scrapy。如果您参与webscraping,那么这是一个必备的库。使用此库后,您将不会使用任何其他库。3、wxPython。python的gui工具包。我主要使用它代替tkinter。你真的很喜欢它。4、Pillow。PIL(Python Imaging Library)的友好分支...

weixin_39526238的博客 1万+

避开命令行!在VMware vCenter 8.0图形化界面里搞定SSL证书续期全流程

本文详细介绍了在VMware vCenter 8.0图形化界面中完成SSL证书续期的全流程,包括计算机SSL证书、VMCA根证书和STS证书的管理。通过可视化操作,管理员无需使用命令行即可高效处理证书问题,确保vSphere环境的稳定运行。文章还提供了证书监控与预警配置的实用技巧,帮助用户提前规避证书过期风险。

weixin_27051161的博客 284

整理几个python常用的库下载地址

整理几个python常用的库下载地址 1. Unofficial Windows Binaries for Python Extension Packages 网址如:https://www.lfd.uci.edu/~gohlke/pythonlibs/#freeimagedll 2.Anaconda也不会自动安装Open-cv,推荐清华大学的python库 下载 如图安装过程可参考博文pyth...

ChineseBread的博客 5703

drm 之modes

#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <time.h&...

u012794472的专栏 3721

嵌入式学习笔记- 关于电容的纹波电流

纹波电流是导致电解电容发热、影响其寿命的关键交流电流成分。它不是一种特殊的电流,而是电路中必然存在的现象。要重视,不能忽视。必须保证电路中的纹波电流 < 电容的额定纹波电流。电容鼓包爆浆,要怀疑是否是纹波电流过大或电容ESR变大所致。希望这个解释能帮助您彻底理解这个概念!二 电容纹波电流与频率的关系在大多数情况下,频率越高,电容所能承受的额定纹波电流值越大。【个人理解:因为频率越低ESR越大,具体见第三节ESR与频率的关系】下面我为您详细解释为什么会这样,以及在实际应用中如何考虑。

qq_35771411的博客 2199

我常用的几个Python金融数据接口库,非常好用~

在金融分析和量化投资领域,Python已成为最受欢迎的编程语言之一。这主要归功于其丰富的库和框架,它们提供了处理和分析金融数据所需的工具,而且还有大量免费实时的金融股票数据供你分析研究。以下是六个最常用的Python金融数据接口库,有国内也有国外的,它们各自具有独特的功能和优势。

分享Python、数据分析、人工智能前沿知识 1万+

智能车图像处理20-进阶篇12--正入十字补线1

这篇文章主要讲述基本的正入十字补线方法。

taiyuezyh的博客 6950

常用的几个第三方 Python 库

作者:赖勇浩(http://blog.youkuaiyun.com/lanphaday) 今天公司停电,没上班。跑上来更新个博客,跟大家分享一下我常用的几个第三方 Python 库。Python 语言之所以能够如此流行,除了本身内置许多程序库来保障快速开发之外,目不睱接的第三方库也是一大主因。结合我目前的工作(网游开发),我常用的几个第三方库如下: wxPython 如果你之前是 windo

My Place by Sunny Potter 953

基于 SoC 的卷积神经网络车牌识别系统设计(1)引言

通过 CPU 软核 IP 在纯 FPGA 平台上构建一个 AI SoC 卷积神经网络车牌识别系统,其中,缩放、填充层、卷积层、ReLU、池化层、全连接层 IP 都是 Verilog 设计的,同时集成了各种高性能的 IP。这是最具挑战性的 AI SoC 芯片设计项目,集成了 Python 卷积神经网络代码、Verilog 卷积神经网络硬件设计、ARM SoC 设计、ARM 与 FPGA 的交叉编译流程等等。这不仅是科研学习、集创竞赛、秋招求职的一个极具优势的精彩项目,也是目前最火热的芯片行业之中的一个...

新芯设计的博客 3785

鸿宇多用户商城user.php RCE漏洞复现

鸿宇多用户商城 user.php 存在任意命令执行漏洞,攻击者可通过该漏洞在服务器端任意执行代码,写入后门,获取服务器权限,进而控制整个web服务器。

0xSec 1625

Python的基本语法、常用库以及其在各个领域的应用

此外,Python还有众多其他库,如TensorFlow、PyTorch等用于深度学习,Django、Flask等用于Web开发,Requests、Scrapy等用于网络爬虫等。Python,作为一种解释型、面向对象、交互式的计算机程序设计语言,自1989年诞生以来,便因其简洁易懂的语法、强大的功能和广泛的应用领域而备受青睐。本文将介绍Python的基本语法、常用库以及其在各个领域的应用。4. Scikit-learn:提供简单高效的机器学习算法的库,包括分类、回归、聚类等算法,是机器学习领域的必备工具。

Dalao_zzl的博客 1246

第十届MathorCup高校数学建模挑战赛-B题:养老服务床位需求预测与运营模式研究

当养老床位数增加时存在的商机,提出了相应的养老服务床位的运营商业模式。就业的可能性,建立多目标规划模型,尽可能同时满足三方面的要求。务床位的需求、制定合理的养老服务床位发展规划,是构建和谐社会、幸福社会。问题一的床位需求与市场类型的分类结果,查找关于国内养老院的相关数据,探。求,又能持续发展养老事业,同时还能促进社会就业的养老服务床位运营的商业。养老服务床位数的增加能够带来的就业方面因素的影响,并对这些因素进行一个。你们的模型及其结论为科学依据,对政府管理部门针对养老床位规划提出合理的。

getusushu的博客 1140

我常用到的python库

Python 的一大特色是其丰富的模块,基本上只要你能想到的常见开发需求,都能找到别人已经实现的库直接使用,或者相关的工具/框架来辅助实现。但这对于新手来说也是一个问题: 这么多库,我要从哪里学起?怎么才能记住这么多库的用法? 对此我的建议: 不要把学习库作为目标。正确的学习逻辑是,去发掘可编程解决的需求,以实现功能为目标, 在开发过程...

weixin_34405354的博客 2643

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python常用的库_这几个常用的python库你需要知道

python可以说是近几年最火热、最实用的、最容易上手的工具之一了。功能强大、应用广泛,可以帮你搜集工作数据,还能帮你下载音乐,电影,于是就掀起了一波学习python的大潮,小编也毫不犹豫的加入了。但是对于向小编一样的小白来说,刚开始学习还是有些困难的,需要首先了解python的一些基础知识。所以小编就整理了一些常用的python库,希望对正在学习python的小伙伴有所帮助。1.Matplotl...

weixin_39603397的博客 123

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Langchain,一个大模型应用便捷的 Python 库!

Langchain是一个专为大型语言模型构建的框架,它的设计理念是帮助开发者高效地将这些强大的模型应用于各种实际场景。无论你是想要构建对话系统、智能问答平台,还是文本生成应用,Langchain都能给你提供极大的便利。更棒的是,它不仅支持OpenAI的GPT系列模型,还兼容多个不同的LLM,为我们提供了丰富的选择。通过今天的介绍,相信大家对Langchain有了初步的了解。这个库极大地简化了大模型的应用过程,让开发者可以更专注于应用逻辑而不是底层实现。

2401_85379281的博客 1150

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【 Python 常用库的总结】

Python 常用库全指南:涵盖标准库(os/sys/json等)、数据处理(NumPy/Pandas)、可视化(Matplotlib/Seaborn)、Web开发(Django/Flask)、机器学习(scikit-learn/PyTorch)及系统管理(subprocess/psutil)。每个库均附示例代码,如 Pandas 数据清洗、Flask 最小应用等,帮助开发者快速定位工具选择,提升开发效率。

qq_33764107的博客 941

我常用的几个第三方 Python 库

我常用的几个第三方 Python 库

qq_44925249的博客 450

python常的各种库_这几个常用的python库你需要知道

原标题:这几个常用的python库你需要知道python可以说是近几年最火热、最实用的、最容易上手的工具之一了。功能强大、应用广泛,可以帮你搜集工作数据,还能帮你下载音乐,电影,于是就掀起了一波学习python的大潮,小编也毫不犹豫的加入了。但是对于向小编一样的小白来说,刚开始学习还是有些困难的,需要首先了解python的一些基础知识。所以小编就整理了一些常用的python库,希望对正在学习pyt...

weixin_39632293的博客 126
上一篇: 2025年这7种用于构建Agentic RAG系统的架构不可或缺
下一篇: 【论文日报】LLM合集:字节推出Agent-R框架, 让LLM Agent进行自我迭代进化,学会反思
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2841原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值