cs336 assignment1 作业环境配置

在这里插入图片描述

代码结构

在这里插入图片描述

所有的代码写到cs336_basics/* 下面,在adapters.py里调用自己的.py,通过所有的test。

作业资料参考

karpathy视频+仓库:

视频
github仓库

测试项目运行环境

下载uv

uv官网仓库
使用命令:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
我直接运行pip install uv会报错

进入项目文件夹下目录:
uv self update # optional
uv sync

uv self-update 命令专门用于维护 uv 可执行文件本身。它的主要且唯一目的是检查并安装最新可用的 uv 版本。uv sync 命令在项目级别运行,专注于项目所依赖的 Python 包。其核心功能是确保虚拟环境中安装的包与项目锁文件( uv.lockrequirements.lock )中指定的版本完全一致(项目文件夹中有uv.lock文件)。

运行这两条命令后,会看到文件夹下多出了.venv文件夹

激活虚拟环境

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
.venv\Scripts\Activate # windows命令

切换到虚拟环境后,运行命令
uv run pytest

由于是windows环境,我出现了报错,原因是:tests/test_tokenizer.py 文件尝试导入 resource 模块,但该模块在 Windows 系统上不可用。最开始我以为必须切换到linux环境,或者用云服务器跑,但是我只是需要在windows上测试,注释掉test_tokenizer.py 文件中的import resource即可。kaggle和google colab还有AWS都提供了云服务器,可以白嫖。

再次运行命令后:
在这里插入图片描述
报错: NotImplementedError
最初,所有测试应该 NotImplementedError 失败。要将代码实现连接到测试,要完成./tests/adapters.py 中的函数。
adapters.py 中的函数包括:

  • run_linear
  • run_embedding
  • run_swiglu
  • run_scaled_dot_product_attention
  • run_multihead_self_attention
  • run_multihead_self_attention_with_rope
  • run_rope
  • run_transformer_block
  • run_transformer_lm
  • run_rmsnorm
  • run_silu
  • run_get_batch
  • run_softmax
  • run_cross_entropy
  • run_gradient_clipping
  • get_adamw_cls
  • run_get_lr_cosine_schedule
  • run_save_checkpoint
  • run_load_checkpoint
  • get_tokenizer
  • run_train_bpe

数据集下载

需要下载这两个数据集:

  • TinyStories
  • OpenWebText

由于windows不方便下载,所以我在wsl下下载。踩坑:连接不到https://huggingface.co
后续发现可以镜像站下载:https://hf-mirror.com/

用vscode连接wsl,然后新建一个文件download_data.sh,写入命令
完整的命令如下:

#!/bin/bash# 创建数据目录并进入echo "Creating data directory..."mkdir -p datacd data# 下载 TinyStories 数据集echo "Downloading TinyStoriesV2-GPT4-train.txt.gz... (This may take a while)"# 使用 curl -L 来正确处理重定向,并用 -o 指定输出文件名curl -L -o TinyStoriesV2-GPT4-train.txt.gz "https://hf-mirror.com/datasets/roneneldan/TinyStories/resolve/main/TinyStoriesV2-GPT4-train.txt"echo "Downloading TinyStoriesV2-GPT4-valid.txt.gz..."curl -L -o TinyStoriesV2-GPT4-valid.txt.gz "https://hf-mirror.com/datasets/roneneldan/TinyStories/resolve/main/TinyStoriesV2-GPT4-valid.txt"# 下载并解压 OWT sample 数据集echo "Downloading OWT sample dataset..."curl -L -o owt_train.txt.gz "https://hf-mirror.com/datasets/stanford-cs336/owt-sample/resolve/main/owt_train.txt.gz"gunzip -f owt_train.txt.gzcurl -L -o owt_valid.txt.gz "https://hf-mirror.com/datasets/stanford-cs336/owt-sample/resolve/main/owt_valid.txt.gz"gunzip -f owt_valid.txt.gz# 返回上级目录echo "All files downloaded and processed successfully."cd ..

owt的文件下好后看似是压缩包,实际已经解压好了,只需要把后缀名改成txt就好。
已经下载好的文件长这个样子:
在这里插入图片描述
现在我们已经做好前期所有准备了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917010.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)

文章目录前言一、YOLOv11代码下载地址1.YOLOv11模型结构图二、数据集准备1.数据集标注软件2.voc数据集格式转换3.数据集划分4.修改yolo的训练配置文件三、YOLO环境配置教程1.pytorch环境安装2.其他依赖安装四、YOLOv11训练五、YOLOv11推理六、解决训练过程中断怎么继续上次训练…

20250731在荣品的PRO-RK3566开发板的Android13下跑通敦泰的FT8206触控芯片

20250731在荣品的PRO-RK3566开发板的Android13下跑通敦泰的FT8206触控芯片 2025/7/31 17:48缘起:本文前置条件:已经解决FT8206和PRO-RK3566的硬件连接。 通过i2cdect可以扫描到i2c从机地址:0x38。【8位地址为0x70】缘起:本文只分析…

异常检测:算法分类及经典模型概览

第一部分:异常检测的核心概念 在深入算法细节之前,理解异常检测的“语境”至关重要。 1. 什么是异常检测? 异常检测(Anomaly Detection 或 Outlier Detection)旨在通过数据挖掘技术,识别出数据集中与大多数…

技术干货 | 矢网DTF测量技术:透视线缆、天线与波导内部缺陷的“射频X光”(二)

无线通信、雷达等领域中,射频组件与传输系统的性能至关重要,其内部微小损伤易导致信号问题甚至系统失效。传统测试无法精确定位故障点,排查困难。DTF测量,矢网赋予的“透视眼”!它能穿透“黑箱”,精确定位线…

【[CSP-J 2022] 上升点列】

题目 [CSP-J 2022] 上升点列 题目描述 在一个二维平面内,给定 n 个整数点 (x i ,y i​ ),此外你还可以自由添加 k 个整数点。 你在自由添加 k 个点后,还需要从 nk 个点中选出若干个整数点并组成一个序列,使得序列中任意相邻两点间…

Kong API Gateway的十年进化史

一、技术基因的诞生(2007-2015) 2007年,三位意大利开发者Augusto Marietti、Marco Palladino和Michele Orru在博洛尼亚的一个小车库中创立了Mashape公司。 最初他们开发了一个名为Mashup的API聚合平台,试图通过整合第三方API为开发…

蓝牙设备配对:从机发现主机全过程

在蓝牙 paging 过程中,从设备(Slave)是通过特定的扫描机制和跳频方式来发现主设备发送的 ID 包的,具体过程如下:从设备处于特定扫描模式:从设备需要处于 Page Scan 模式,才能够接收主设备发送的…

聚观早报 | 三星获特斯拉AI芯片订单;小米16首发成安卓最强SOC;iPhone 17 Pro支持8倍光学变焦

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。整理丨肖羽7月29日消息三星获特斯拉AI芯片订单小米16首发成安卓最强SOCiPhone 17 Pro支持8倍光学变焦宁德时代滑板底盘公司启动首轮融…

Gemini Fullstack LangGraph Quickstart(DeepSeek+Tavily版本)

文章目录参考资料说明Gemini Fullstack LangGraph QuickstartDeepSeek Fullstack LangGraph Quickstart项目部署完整源码地址后端部署前端部署参考资料 DeepResearch应用开发实战网盘课件资料 说明 本文仅供学习和交流使用,感谢赋范社区相关老师的辛苦付出&#…

钢筋计数误差↓78%!陌讯多模态融合算法在建筑地产AI质检的落地实践

​摘要​​针对建筑地产行业钢筋验收场景的高误差痛点,本文解析陌讯视觉算法的多模态融合架构如何实现毫米级精度目标检测。实测显示:在Jetson Xavier NX边缘设备上,钢筋计数mAP0.5达​​92.4%​​,较基线模型提升28个百分点&…

负载均衡 LoadBalance

问题引入 我们一个服务可能会进行多机部署,也就说多台服务器组成的集群共同对外提供一致的服务,那么我们的微服务的代码就需要拷贝多份,部署到不同的机器上。 我们使用 IDEA 来开启多个相同的服务 这里以 product-service 为例:…

13. 若依框架中的 Sensitive 敏感字段过滤

若依框架中有Sensitive注解,但代码中并未使用,但该注解的实现还是比较值的学习的。该注解是一个运行时注解该注解只能应用在字段上JacksonAnnotationsInside 表示当使用Jackson序列化时,Jackson会自动识别该注解下的其他Jackson相关注解&…

git本地仓库,工作区和暂存区的知识

一 git工作原理 Git 的工作原理基于分布式版本控制,通过管理文件的不同版本状态,实现代码的追踪、协作和回溯。除了常见的工作区(Working Directory) 和暂存区(Staging Area/Index),核心还包括本…

MPU6050模块

一:MPU6050简介输出一个随姿态变化而变化的电压,想要量化电压,就得使用ADC转化欧拉角偏航角(Yaw):也叫航向角,通常是绕 z 轴旋转的角度,以 x 轴正向为起始边,旋转后 x 轴…

jvm的栈和堆

在 JVM 中,栈(Stack)和堆(Heap)是两种核心内存区域,用于存储不同类型的数据,它们的设计和存储规则有明确区分,主要体现在存储内容、生命周期和管理方式上:一、栈&#xf…

自动驾驶车辆的敏捷安全档案

简介近年来,在开发安全关键软件时,敏捷开发方法的使用日益增多。敏捷方法非常适合自动驾驶汽车软件的增量改进、运行设计域的逐步扩展以及新型智能路侧单元的开发。由于车辆和智能路侧单元的预期改进,未来几年将会有新的自动驾驶车辆试验。因…

【时时三省】(C语言基础)动态内存分配与它的指针变量

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省什么是内存的动态分配全局变量是分配在内存中的静态存储区的,非静态的局部变量(包括形参)是分配在内存中的动态存储区的,这个存储区是一个称为栈…

SpringMVC的核心架构与请求处理流程

Spring MVC 核心架构核心组件组件作用类比DispatcherServlet前端控制器,统一接收请求并协调各组件处理一个餐厅的前台HandlerMapping根据请求URL映射到对应的处理器(Controller)路由表HandlerAdapter执行处理器方法,处理参数绑定、…

css 不错的按钮动画

效果图wxml <view class"{{status?active:}}"><view class"up-top btn"><text>向上</text></view><view class"up-left btn"><text>向左</text></view><view class"up-center b…

若依框架RuoYi-Vue-Plus-5.X的启动,本地安装docker,再部署 Redis、PG数据库(智慧水务)SmartWaterServer

一、部署redis数据库拉取镜像 docker pull redis启动Redis容器docker run -d --name redis-server -p 6379:6379 -v redis-data:/data redis redis-server --requirepass 123redis版本二、部署PostgreSQL 数据库拉取镜像docker pull postgres:15 创建数据存储目录、建议将数据挂…