自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(258)
  • 收藏
  • 关注

原创 深度学习系列61:在CPU上运行大模型

git地址为:https://github.com/ggerganov/whisper.cpp。

2024-03-04 10:55:55 438

原创 深度学习系列60: 大模型文本理解和生成概述

包含理解和分类两大类问题,对应的就是BERT和GPT两大类模型;而交叉领域则对应T5。

2024-02-22 00:13:52 1092

原创 深度学习系列59:文字识别

使用google加的tesseract,效果不错。首先安装tesseract,在mac直接brew install即可。

2024-02-21 20:23:40 594

原创 运筹系列89:anylogic仿真软件入门

这里概述一下help文档中Supply chain GIS model例子的要点:触发事件的agent和执行任务的agent。在这个案例中,触发事件的agent是retailer,不断有订单生成;而执行任务的agent是vehicle,不断将订单运从distributor运送到retailer。模型的最终效果如下图:首先需要设计agent。在供应链的例子中,设计了4种agent。其中dis和order最简单,order就是个classret需要包含一个,用于生成order,寻找veh。

2024-02-20 09:28:13 228

原创 深度学习系列58:大模型训练和压缩

把梯度放在cpu上保存和计算。

2024-02-18 08:19:49 184

原创 深度学习系列53:大模型微调概述

固定大部分参数,仅训练少量的参数来驱动大模型。下图是delta-tuning和fine-tuning的区别。左边的fine-tuning中,每个任务都全量微调,得到一个新的模型,如果有100个任务,那么最终会给出100个数十G的大模型;但是在delta-tuning中,PLM参数大部分是固定的,每个任务只需要训练和记录有修改部分的参数(delta-object)即可。delta-tuning分为以下三大类:增加额外参数(A)、选取一部分参数更新(S)、引入重参数化(R)。

2024-02-17 18:32:17 1126

原创 深度学习系列57: 清华大模型MiniCPM上手

MiniCPM 是面壁智能与清华大学自然语言处理实验室共同开源的系列端侧大模型,主体语言模型 MiniCPM-2B 仅有 24亿(2.4B)的非词嵌入参数量。

2024-02-04 16:38:26 551

原创 深度学习系列56:使用whisper进行语音转文字

这应该是最快的使用方式了。安装,接着安装ffmpeg,随后就可以使用了。

2024-02-04 11:02:26 1524 2

原创 深度学习系列55:深度学习加速技术概述

总体有两个方向:模型优化 / 框架优化。

2024-02-04 09:19:59 508

原创 python系列28:fastapi部署应用

FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,类似flask,Django,webpy在部署时可能需要用到下面的库:Uvicorn 或者 Hypercorn负责ASGI 服务器。Starlette 负责 web 部分。Pydantic 负责数据部分。都用pip install安装即可。

2024-01-15 13:59:26 512

原创 Julia系列16:Julia与python/c互调

通过PyCall包,Julia可以直接调用Python包。数值、布尔、字符串、IO stream、函数、元组、数组或列表、以及包含这些类型的字典等,它们都会自动进行类型的转换(Python函数会被转换或传递为Julia的函数,反之亦然)。其它类型则是通过通用的PyObject提供的。

2024-01-15 12:41:14 431

原创 运筹系列88:JuMP中的约束规划(constraint programming)

在constraint programming中,objective是不起作用的,调用optimize!(model)后,会给出满足约束的可行解。使用JuMP的约束规划API,可以极大简化模型。

2024-01-10 15:34:13 975

原创 运筹系列87:julia求解随机动态规划问题入门

看一个简单的数值优化的例子:我们将其建立为一个N阶段的问题:初始值为M。结果为非常接近理论最优值。

2023-12-18 11:17:35 991

原创 大数据系列15:lightgbm笔记

建议用conda安装。首先安装miniconda,在官网下载对应的版本。然后将系统的python和pip定位到miniconda文件夹下。然后用conda安装lightgbm,在Mac m2芯片上测试可行。(用pip直接安装通不过编译)。

2023-11-24 08:36:19 560

原创 深度学习系列54:LABEL-STUDIO进行半自动化目标检测标注

打开浏览器访问 http://localhost:8080/ ,建立一个新项目。此时不要着急save,需要先点击后面的Labeling Setup连接第一步的目标检测服务。看到如下 Connected 就说明后端推理服务添加成功。在mmdetection文件夹中,执行。另开一个terminal,执行。

2023-11-20 09:39:36 499

原创 深度学习系列53:mmdetection上手

建议使用coco格式,参见https://cocodataset.org/#format-data。文件从头至尾按照顺序分为以下段落:下面是从instances_val2017.json文件中摘出的一个annotation的实例,这里的segmentation就是polygon格式:“id”: 1768},从instances_val2017.json文件中摘出的2个category实例如下所示:“id”: 1,},“id”: 2,},

2023-11-19 08:37:03 643

原创 深度学习系列52:多目标跟踪

1)FP:False Positive,即真实情况中没有,但跟踪算法误检出有目标存在。2)FN:False Negative,即真实情况中有,但跟踪算法漏检了。3)IDS:ID Switch,目标ID切换的次数。4)MOTA: Multiple Object Tracking Accuracy,多目标跟踪准确度。5)IDF1: ID F1得分,正确身份标签赋予的检测框与平均ground truth和计算的检测数量的比值。6)MT:Mostly Tracked,大多数目标被跟踪的轨迹数量。

2023-10-24 14:23:58 261 1

原创 Julia系列15:深度学习框架flux

定义函数的函数,两层函数分别对应参数和变量Wbend。

2023-10-23 17:21:55 220

原创 运筹系列86:MIP问题的建模tips

添加辅助变量y。比如Either3x1​2x2​≤18orx1​4x2​≤16可以用3x1​2x2​≤18Myx1​4x2​≤16M1−y来代替。

2023-10-19 19:01:09 230

原创 深度学习系列51:hugging face加速库optimum

Optimum是huggingface transformers库的一个扩展包,用来提升模型在指定硬件上的训练和推理性能。Optimum支持多种硬件,不同硬件下的安卓方式如下:如果是国内安装的话,记得加上-i https://pypi.tuna.tsinghua.edu.cn/simple。hugging face目前是被墙的状态,在使用示例代码时,需要将模型离线下载下来使用。

2023-10-13 14:31:59 550

原创 批量下载微信公众号要点

参考GitHub 项目vWeChatCrawl,详细步骤见https://zhuanlan.zhihu.com/p/375046671,这里说下注意事项。

2023-09-15 09:36:44 215

原创 运筹系列85:求解大规模tsp问题的julia代码

关于列生成的列子,可以参考《运筹系列8:Set partitioning问题的列生成方法》。我们这里使用priority queue存储分枝节点,按照最简单的下标顺序,对所有非整数变量进行分枝。求解主问题,然后找到检验数

2023-09-07 18:09:42 213

原创 运筹系列84:使用reduced matrix法求解tsp问题

我们得到reduce cost,可以作为tsp的lb = (10 + 10 + 15 + 20 + 5 + 10) = 70。我们用行表示从每个点出去的距离,用列表示从每个点进来的距离。

2023-08-31 09:36:15 166

原创 运筹系列83:使用分枝定界求解tsp问题

Node算子用来存储搜索树的状态。其中level等于path的长度,path是当前节点已经访问过的vertex清单,bound则是当前的lb。这里的bound函数是一种启发式方法,等于当前路径的总长度,再加上往后走两步的最小值。

2023-07-29 18:09:03 318

原创 python系列27:jupyter转web app的工具Mercury

官网:https://runmercury.com/Mercury可以将 Jupyter Notebook 呈现为 Web 应用程序。类似的package还有streamlit和voila使用import mercury as mr进行安装。Mercury的页面分为左边的输入部分,和右边的输出部分,下面是极简例子:在命令行输入mercury run,可以启动客户端常用指令如下:运行Mercury Server:mercury run运行示例notebooks:mercury run demo添

2023-06-12 00:40:57 990

原创 运筹系列81:LKH代码分析

基础的node定义在LKH.h中用于2-level tree的segment定义如下:LKH可以使用3种数据结构,默认是2-level tree:2-level tree的flip操作(即2-opt算子),在Flip_SL.c中,特殊的地方在于flip过程中涉及到重新分配segment的操作,其逻辑如下,其中P开头的是node对应的segment编号。

2023-06-09 14:12:41 1038

原创 Julia系列14:调用自定义C/C++库

接着是输出数组,需要使用unsafe_wrap进行转换,并且需要用GC.@perserve防止垃圾回收。Clang.getTranslationUnitCursor方法可以获得其根节点。首先是输入数组,注意需要convert。二维数组需要在C中注意编号。

2023-05-30 18:00:10 957 2

原创 强化学习系列14:动态规划求解法

本文是强化学习系列1的举例补充。这里介绍可以求解连续决策问题的动态规划问题。

2023-03-30 14:15:05 465 1

原创 Julia系列13:使用B&B包求解MIP问题

Benders分解用于处理如下约束格式,蓝色部分称为linking variables,常常是难处理的整数变量。我们假设模型如下,其中x为主问题变量:给定一个x,子问题为:注意这个子问题对x的导数为−A1​π,使用泰勒展开有:将结果返回到主问题中,得到用于迭代的主问题:流程为:求解V1K−1​得到xk​,代入V2​x并求解得到πk​,添加一条约束后得到V1K​。最开始的主问题解使用θM的约束求解。

2023-03-30 07:31:27 292

原创 运筹系列82:使用动态规划求解TSP问题

定义csk为当前在k,待访问点的集合scskmini∈s​cs−iidik​2kk1​...kn​S2k1​...2kn​我们有初始状态c({0kd0k​0。逐步扩大set的尺寸,遍历所有可能的subset,使用bellman方程迭代计算。

2023-03-30 07:22:13 1423

原创 julia系列12:聚类算法包

【代码】julia系列12:聚类算法包。

2023-03-12 22:01:17 323

原创 运筹系列80: 使用Julia精确求解tsp问题

使用flow约束构建基础模型。

2023-03-08 19:56:05 349 1

原创 运筹系列68:TSP问题Held-Karp下界的julia实现

Held-Karp下界基于1tree下界,但是增加了点权重,如下图通过梯度下降的方法找到最优的π。

2023-03-08 18:10:02 449

原创 运筹系列67:大规模TSP问题的EAX遗传算法

main.cpp- Edge assembly crossover,核心程序***.tsp还可以做一些自定义算法配置,主要在env。fStage = 1;fStage = 2;fStage = 1;TerminationCondition() 里可以修改停止条件。

2023-03-06 08:53:08 1476 1

原创 运筹系列79:使用Julia进行column generation求解

我们对cutting stock问题进行建模。

2023-03-03 19:06:09 597

原创 c++系列12:使用vscode进行编译

1)下载安装vscode2)在扩展中搜索c/c++ extension pack并安装(或者直接打开cpp文件,会自动提示进行安装)3)创建项目目录,会自动生成.vscode文件夹,里面是编译所需的文件4)点击右上角的运行按钮,选择clang++进行编译运行,在下方的调试控制台可以看到输出。上图顶部六个按钮分别代表:1.继续执行到下一个断点处2.执行下一条语句,遇到函数直接执行完不会跳转进函数3.执行下一条语句,遇到函数会跳转进函数继续单步执行。

2023-02-28 17:14:17 1968

原创 julia系列11:struct和类

initialization也可以使用new函数,放在struct内部。有三种方式,第一种是new并放在前面(可变参数)参考https://juliahub.com/ui/Packages/Classes/FemUz/1.4.0。第二种是new并放在后面(重载)第三种是使用@kwdef。

2023-02-27 23:18:22 730

原创 运筹系列66:tsp问题求解器concorde介绍

纯C语言编译,用于对称TSP问题求解。目前最大的应用案例为85900个城市。Concorde支持使用QSopt线性规划求解器获得bound。

2023-02-27 22:40:58 1056

原创 运筹系列43:优化求解器HiGHS介绍

官网https://www.maths.ed.ac.uk/hall/HiGHS/介绍如下:参数如下。

2023-02-27 22:32:12 982

原创 运筹系列68:julia启发式求解tsp问题

另一种方式是将所有的点拿出来做v0,重新计算mst,速度会慢不少,代码如下。使用简单的2-opt算子进行优化,以一定的概率接受退化解。第一种下界非常简单,每个点取最短的两条边加起来即可。我们可以用类似训练深度学习的方法,来逐步调节所有的。

2023-02-22 10:21:42 388

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除