cursor 的下载及安装(免费版每月100次,升级pro 20刀/月)
cursor是一款与openai合作的,使用gpt-4的一款编程工具,它可以让你通过gpt-4进行辅助编程,以此提高效率。
下载地址:https://www.cursor.so/
 cursor的使用
cursor的使用方式极其简易,只有两个快捷键,即ctrl+k\ctrl+l。
 ctrl+k 表单形式使用
按快捷键:ctrl+k弹出输入框,输入你所需要写的代码要求及技术按回车即可。如下图。
 
 程序将自己生成代码:
 
 ctrl+l 对话框形式使用
按快捷键:ctrl+l弹出输入框,输入你想问的问题,或者内容即可获得相应的回复和对话框。
 
 cursor可以做到的事
用了之后,发现真的很强大,可以写sql、html、js、算法、找bug等
 代码续写、重写能力
ctrl+a + ctrl+k 告诉他帮你续写或者重写
微调大模型实现步骤(cursor生成)
 1. 加载预训练模型
 2. 冻结模型的所有参数
 3. 替换模型的最后一层为新的全连接层
 4. 解冻新的全连接层的参数
 5. 定义损失函数和优化器
 6. 训练新的全连接层
 7. 解冻模型的前几层
 8. 降低学习率
 9. 继续训练整个模型
 10. 保存微调后的模型
 
加载预训练模型
pretrained_model = models.resnet50(pretrained=True)
 
冻结模型的所有参数
for param in pretrained_model.parameters():
    param.requires_grad = False
 
替换模型的最后一层为新的全连接层
pretrained_model.fc = nn.Linear(pretrained_model.fc.in_features, num_classes)
 
解冻新的全连接层的参数
for param in pretrained_model.fc.parameters():
    param.requires_grad = True
 
定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(pretrained_model.fc.parameters(), lr=0.001, momentum=0.9)
 
训练新的全连接层
for epoch in range(10):
    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data
        optimizer.zero_grad()
        outputs = pretrained_model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        if i % 2000 == 1999:
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0
 
解冻模型的前几层
for param in pretrained_model.layer4.parameters():
    param.requires_grad = True
 
降低学习率
optimizer = optim.SGD(pretrained_model.parameters(), lr=0.0001, momentum=0.9)
 
继续训练整个模型
for epoch in range(10):
    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data
        optimizer.zero_grad()
        outputs = pretrained_model(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        if i % 2000 == 1999:
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0
 
保存微调后的模型
torch.save(pretrained_model.state_dict(), 'fine_tuned_model.pth')
 
详情参考:https://blog.csdn.net/KanShiMeKan/article/details/129651474






![复现永恒之蓝[MS17_010]](https://img-blog.csdnimg.cn/2aabf4266cfd48ec97163506dae89ea5.png)












