作者归档:admin

ThinkPHP6 create save

insert , instertGetID

#插入数据库 可以静态调用

$insert['user_id']=cmf_get_current_admin_id();
$insert["date"]=$date;
$insert["time"]=time();
return MeetingModel::insertGetId($insert);
#插入数据库  可以静态调用
return MeetingModel::insertGetId($insert);

create 用于保存 数组

$data = [
    'name' => '用户名',
    'email' => 'user@example.com',
    // ... 其他字段
];

// 使用create方法插入数据
$id = User::create($data);

$id = User->create($data);

save 用于对象保存 save 不可以静态调用

// 创建一个新的模型实例
$user = new User();

// 给模型赋值
$user->name = $data['name'];
$user->email = $data['email'];
// ... 设置其他字段

// 保存数据
$result = $user->save();
#里面空

MLX微调

主体步骤

  • 安装环境
  • 下载需要微调的模型数据 huggingface_hub上下载
  • 创建微调的数据 Completion(一问一答)、chat、text
  • 进行微调
  • 验证

环境安装

pip install mlx-lm
pip install transformers
pip install torch
pip install numpy

下载数据

#安装依赖
pip install -U huggingface_hub
#设置环境变量
export HF_ENDPOINT=https://hf-mirror.com 
#下载模型,保存至qwen2.5-0.5B目录
huggingface-cli download --resume-download Qwen/Qwen2.5-0.5B-Instruct --local-dir qwen2.5-0.5B

!!! 目录结构

[(base) may@Mac new_mlx % ls -alh
total 0
drwxr-xr-x   4 may  staff   128B 12  4 19:56 .
drwxr-x---+ 31 may  staff   992B 12  4 19:58 ..
drwxr-xr-x  30 may  staff   960B 12  4 19:56 mlx-examples
drwxr-xr-x  13 may  staff   416B 12  4 19:19 qwen2.5-0.5B

mlx-examples 和qwen2.5-0.5B 在同一目录下。
下面的代码将在 mlx-examples/lora 下进行

mlx-examples
qwen2.5-0.5B
-lora
-将在此处执行代码命令。
--data
---train.jsonl

创建数据

git clone git@github.com:ml-explore/mlx-examples.git

git clone https://github.com/ml-explore/mlx-examples.git
#以上二选一
#下载微调框架
#若下载失败可以使用
git clone https://bgithub.xyz/ml-explore/mlx-examples.git

#修改其中lora/data/train.jsonl

#替换为下面的数据  Completion(一问一答)

{"prompt": "今天星期几", "completion": "星期八"}
{"prompt": "太阳什么时候升起?", "completion": "晚上八点"}
{"prompt": "忘情水是什么水", "completion": "忘情水是可以让人忘却烦恼的水"}
{"prompt": "蓝牙耳机坏了应该看什么科", "completion": "耳鼻喉科"}
{"prompt": "鲁迅为什么讨厌周树人", "completion": "因为他们是仇人"}

开始微调


mlx_lm.lora --model ../../qwen2.5-0.5B --train --data ./data

#--model /Users/wuqingming/Downloads/qwen2.5-0.5B 刚刚你下载的模型数据
#--data ./data 使用刚刚你准备的数据 

训练后,在lora/adapters 生成一堆文件,需要将其合并

mlx_lm.fuse --model ../../qwen2.5-0.5B --adapter-path adapters --save-path qwen2.5-0.5B-test_1

#--model ../../qwen2.5-0.5B 刚刚你下载的模型数据
#--adapter-path adapters 训练好的 lora/adapters文件
#--save-path qwen2.5-0.5B-test_1 新名字

验证

#原始模型推理问题
mlx_lm.generate --model ../../qwen2.5-0.5B --prompt "蓝牙耳机坏了应该看什么科"
#微调后的模型推理问题
mlx_lm.generate --model qwen2.5-0.5B-test_1 --prompt "蓝牙耳机坏了应该看什么科"
#--model qwen2.5-0.5B-test_1 刚刚你合并的模型数据

调休显示

=IFERROR(INDEX(TEXT(E:E,"yyyy-mm-dd")&" "&F:F,SMALL(IF(C:C=J14,ROW(C:C)-MIN(ROW(C:C))+1),ROW(1:1))),"")

卡住C:C=J14  J14为人名

行数目修改 ROW(1:1)


J8-----J68
ROW 为1到41


#NEW
=IFERROR(INDEX(TEXT(E:E,"yy/mm/dd")&"【"&F:F&"h】",SMALL(IF(C:C=J11,ROW(C:C)-MIN(ROW(C:C))+1),ROW(1:1))),"")

#显示 24/12/12 【1h】


=IFERROR(INDEX(TEXT(加班记录!E:E,"yy/mm/dd")&"【"&加班记录!F:F&"h】",SMALL(IF((加班记录!C:C=A3)*(加班记录!E:E>B1),ROW(加班记录!C:C)-MIN(ROW(加班记录!C:C))+1,""),ROW(1:1))),"")

加入日期比较

脚本生成

import os
txt_1="""=IFERROR(INDEX(TEXT(E:E,"yy/mm/dd")&"【"&F:F&"h】",SMALL(IF(C:C=J"""
txt_2=""",ROW(C:C)-MIN(ROW(C:C))+1),ROW("""
txt_3="""))),"")"""
f=open("a.html","w")
f.write("<table>")
for j in range(11,72):
    f.write("<tr>")
    for i in range(1,42):
        txt=txt_1+str(j)+txt_2+str(i)+":"+str(i)+txt_3
        f.write("<td>"+txt+"</td>")
    f.write("<\tr>")
f.write("</table>")
f.close()

#J需要设置人员开始位置与结束位置J11为开始J71为结束位置(减去1)

LLAMA FACTORY 魔搭社区的DSW有点问题

执行访问网页无法加载:

需要修改命令,在安装阶段 前先执行

!pip uninstall -y vllm
!pip install llamafactory[metrics]==0.7.1
!pip install accelerate==0.34.1
#安装accelerate==0.34.1 可能需要改的目前无问题
!pip install -e .[torch,metrics]
!pip install --no-deps -e .

最后执行

#最后执行
!GRADIO_SERVER_PORT=7860 GRADIO_ROOT_PATH=/${JUPYTER_NAME}/proxy/7860/ CUDA_VISIBLE_DEVICES=0 USE_MODELSCOPE_HUB=1 python src/webui.py

CONDA (windows10)安装及安装GIT 并关闭代理,CUDA安装

下载anaconda ,地址:https://www.anaconda.com/download/success

下载链接:https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Windows-x86_64.exe

大概800-900MB,安装需要10-30分钟(选择全部用户)

创建虚拟环境后,选择使用命令行进入。

进入相应的环境后

conda install git

若GIT提示从127.0.0.1出去无法下载请关闭git的proxy

git config –global –unset https.proxy

git config –global –unset http.proxy


CUDA安装

CUDA Toolkit 10.1 Original Archive | NVIDIA Developer

请务必选择LOCAL(大小 2.3GB),不然选择网络安装包太慢(net 大小10MB)

上面是CUDA10.1安装后自动检测环境安装相应的CUDA版本。

安装完成后CMD执行:nvcc -V
可以测试CUDA是否安装完成

CUDNN安装

cuDNN 9.5.1 Downloads | NVIDIA Developer 英伟达开发者网站下载CUDNN

Index of /compute/cudnn/redist/cudnn/windows-x86_64

选择CUDNN版本,这里CUDA10.1对应CUDNN 版本

cudnn-windows-x86_64-8.7.0.84_cuda10-archive.zip 231MB 2022-11-22 23:03