STM32F103系列单片机的FLASH和RAM大小

STM32F103C8T6

CPU:STM32F103RCT6,LQFP64,FLASH:64KB,RAM:20KB
flash起始地址为0x8000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB
RAM起始地址为0x2000000,大小为0x5000(16进制)—>20480字节(10进制)—>20KB

STM32F103RCT6

CPU:STM32F103RCT6,LQFP64,FLASH:256KB,SRAM:48KB;
flash起始地址为0x8000000,大小为0x4000(16进制)—>262144字节(10进制)—>256KB
RAM起始地址为0x2000000,大小为0xC000(16进制)—>49125字节(10进制)—>48KB

STM32F103VET6

CPU:STM32F103VET6,LQFP100,FLASH:512KB,SRAM:64KB;
flash起始地址为0x8000000,大小为0x80000(16进制)—>524288字节(10进制)—>512KB
RAM起始地址为0x2000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB

STM32F103ZET6

CPU:STM32F103ZET6,LQFP144,FLASH:512KB,SRAM:64KB;
flash起始地址为0x8000000,大小为0x80000(16进制)—>524288字节(10进制)—>512KB
RAM起始地址为0x2000000,大小为0x10000(16进制)—>65536字节(10进制)—>64KB

### 对Qwen2-VL-2B,在特定应用场景下为了提高性能通常会采用LoRA(Low-Rank Adaptation)技术来进行参数高效的迁移学习[^1]。这种方法允许只更新少量新增加的低秩矩阵而不是整个网络中的所有权重,从而大大减少了训练所需的计算资源。 #### 准备环境与依赖库安装 在开始之前需确保已准备好适合深度学习框架运行的Python虚拟环境,并通过pip命令来安装必要的软件包: ```bash pip install transformers peft accelerate torch torchvision torchaudio --upgrade ``` #### 加载预训练模型并设置适配器配置 接着可以加载目标的基础模型以及定义用于微调的具体超参设定: ```python from transformers import AutoModelForVision2Seq, AutoProcessor model_name_or_path = "qwen/Qwen2-VL-2B" adapter_model = "lora_adapter_weights" processor = AutoProcessor.from_pretrained(model_name_or_path) base_model = AutoModelForVision2Seq.from_pretrained( model_name_or_path, load_in_8bit=True, device_map="auto", ) # 设置LoRA配置 peft_config = { "target_modules": ["query_key_value"], "r": 8, "lora_alpha": 32, "bias": "none", } ``` #### 数据集准备及处理函数编写 针对具体任务整理好相应的图像和文本数据集合之后,还需要设计能够将原始样本转换成模型输入格式的数据预处理器: ```python def preprocess_function(examples): images = [example["image"] for example in examples] texts = [example["text"] for example in examples] inputs = processor(images=images, text=texts, return_tensors="pt", padding=True) return inputs ``` #### 训练过程实现 最后一步就是构建Trainer对象启动实际的优化流程了;这里推荐使用Hugging Face提供的`PeftTrainer`类简化操作: ```python from transformers import PeftTrainer training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=4, gradient_accumulation_steps=4, learning_rate=2e-5, logging_dir='./logs', logging_steps=10, ) trainer = PeftTrainer( base_model, args=training_args, train_dataset=train_dataset.map(preprocess_function), eval_dataset=val_dataset.map(preprocess_function), data_collator=default_data_collator, tokenizer=processor.tokenizer, peft_config=peft_config, ) trainer.train() ``` 完成上述步骤后即可保存最终得到的最佳版本模型供后续部署或评估阶段使用。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

果果小师弟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值