当前位置: 首页 > news >正文

网站用哪些系统做的比较好电子商务网站建设论文课题

网站用哪些系统做的比较好,电子商务网站建设论文课题,做一个网站要多久,投稿的网站pytorch dataloader运行原理 1. 背景2. 环境搭建2.1. 安装WSL vscode2.2. 安装conda pytorch_gpu环境 pytorch 2.112.3 命令行验证python环境2.4. vscode启用pytorch_cpu虚拟环境 3. 调试工具3.1. vscode 断点调试3.2. py-spy代码栈探测3.3. gdb attach3.4. … pytorch dataloader运行原理 1. 背景2. 环境搭建2.1. 安装WSL vscode2.2. 安装conda pytorch_gpu环境 pytorch 2.112.3 命令行验证python环境2.4. vscode启用pytorch_cpu虚拟环境 3. 调试工具3.1. vscode 断点调试3.2. py-spy代码栈探测3.3. gdb attach3.4. 查看进程访问的系统调用 4. DataLoader代码分析4.1. DataLoader代码示例输出结果4.2. 1. 背景 工作中遇到需要跟踪dataloader访问IO卡住的问题有一个类似于IO read的堆栈的hang需要判断是否是真的IO hang住于是乎趁着周末仔细阅读一下dataloader的代码了解下torch dataloader的内部原理。作为一个初学者这个文章会比较杂一些请各位读者谅解。 为了和linux相配套本文拟采用WSL环境来搭建conda torch的开发环境。 2. 环境搭建 2.1. 安装WSL vscode 参考系列中的一篇文章环境部署 2.2. 安装conda pytorch_gpu环境 pytorch 2.11 下载conda 在WSL中安装conda通过以下命令下载sh脚本 wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh 有另外一个镜像站下载很快https://mirrors.sustech.edu.cn/anaconda/archive/ 对下载的内容进行SHA-256校验 Get-FileHash filename -Algorithm SHA256c536ddb7b4ba738bddbd4e581b29308cb332fa12ae3fa2cd66814bd735dff231 安装conda bash Anaconda3-2024.02-1-Linux-x86_64.sh按照提示填yes设置安装目录更新shell随后重启WSL的terminal界面。可以看到如下图zshrc环境已经被更新了重启shell会默认进入到(base)环境。 创建python虚拟环境 创建python虚拟环境pytorch_cpu并激活它 conda create --name pytorch_cpu python3.11conda activate pytorch_cpu替换conda安装源因为默认的anaconda的源实在是太慢 https://blog.csdn.net/Xiao_Spring/article/details/109130663 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/安装2.1版本pytorch conda install pytorch2.1 cpuonly -c pytorch 安装pandas conda install pandas 2.3 命令行验证python环境 准备构造一段数据使用ChatGPT写一段代码要求生成1-100个文件采用pickle gzip的模式命名为1-100.pkl.gz每个文件中是10个随机的kv对k和v都是随机数字转换成的字符串。构造的代码如下 import os import pickle import gzip import random import string# 解释代码 | 注释代码 | 生成单测 | def generate_random_dict():random_dict {}for _ in range(10):key .join(random.choice(string.digits) for _ in range(5))value .join(random.choice(string.digits) for _ in range(5))random_dict[key] valuereturn random_dictdef generate_files():file_names [f{i}.pkl.gz for i in range(1, 101)]for file_name in file_names:with gzip.open(file_name, wb) as f:random_dict generate_random_dict()pickle.dump(random_dict, f)for file_name in file_names:print(file_name)if __name__ __main__:os.chdir(c:\\workspace\\llm\\hello_project_1\\dataset\\data\\filelist)generate_files()运行上述代码 python demo_gen_pkl_gz.py 输出结果如下 2.4. vscode启用pytorch_cpu虚拟环境 vscode中启动WSL然后打开一个python文件点击vscode屏幕右下角的python环境默认是/usr/bin/python会自动提示多个python环境选择pytorch_cpu环境如下图所示 打开上述python文件demo_gen_pkl_gz.py点击右上角的三角符号选择Run Python File即可run此python文件。 3. 调试工具 为了更方便地进行问题跟踪我们需要学习几种调试工具 3.1. vscode 断点调试 在相应的代码增加断点点击右上角的Python Debugger: Debugger using launch.json 按钮它会自动在断点处停下来 查看local和global的变量主动添加新的监视查看线程堆栈单步运行或者继续或者停止均可 如果将断点放在内部库的代码例如在gzip.open实现内部打断点会发现断点不生效。需要在lanuch.json中增加一行配置justMyCode: false就可以使得断点生效了。 3.2. py-spy代码栈探测 pip3 install py-spypy-spy dump --pid ${pid} 支持的一些有用的参数 3.3. gdb attach conda install gdbapt-get install python3-dbggdb -p ${pid} 加载进程即可使用各种命令进行调试 3.4. 查看进程访问的系统调用 strace -f -p ${pid} -s 1024 4. DataLoader代码分析 4.1. DataLoader代码示例 下面是一个采用多进程来读取数据的代码它的代码逻辑很简单。首先创建一个DataLoader结构它传入的最关键的参数为dataset用以从dataset数据集中读取数据最后通过for data in dataloader:将数据从dataloader中打印出来。可以通过调整num_workers来设置是否启动后台进程进行load数据 import gzip import os import pickle import random import timeimport pandas as pd import torch from torch.utils.data import DataLoader, Datasetdef load_gzip_pickle(pkl_fpath):with gzip.open(pkl_fpath, rb) as f:data pickle.load(f)return dataclass MapDataSet(Dataset):def __init__(self, index_list_fpath):self.index_list pd.read_csv(index_list_fpath)def __len__(self):return len(self.index_list)def __getitem__(self, idx):pkl_fpath self.index_list.iloc[idx].tolist()[0]pkl_fpath ffilelist/{pkl_fpath}print(try to simulate slow io wait...)#time.sleep(10)data load_gzip_pickle(pkl_fpath)# post processingprint(try to simulate slow data processing...)#time.sleep(10)print(pkl_fpath, : idx:, idx, : data:, data.keys(), : len, len(data), : pid:, os.getpid())return datadef get_data_loader(index_list_fpath, batch_size1, num_workers16):dataset MapDataSet(index_list_fpathindex_list_fpath)return DataLoader(dataset, batch_sizebatch_size, num_workersnum_workers, collate_fnlambda batch: batch[0])def test_dataloader(index_list_fpath):batch_size 1num_workers 0dataloader get_data_loader(index_list_fpathindex_list_fpath, batch_sizebatch_size, num_workersnum_workers)for data in dataloader:print(data.keys(), : len, len(data), : pid:, os.getpid())if __name__ __main__:os.chdir(c:\\workspace\\llm\\hello_project_1\\dataset\\data)index_list_fpath filelist.csvtest_dataloader(index_list_fpath)输出结果 try to simulate slow io wait... try to simulate slow data processing... filelist/1.pkl.gz : idx: 0 : data: dict_keys([86099, 83840, 15119, 03197, 57912, 42663, 32969, 49818, 47455, 53997]) : len 10 : pid: 9724 dict_keys([86099, 83840, 15119, 03197, 57912, 42663, 32969, 49818, 47455, 53997]) : len 10 : pid: 9724 try to simulate slow io wait... try to simulate slow data processing... filelist/2.pkl.gz : idx: 1 : data: dict_keys([91534, 12121, 94084, 12699, 03382, 10877, 21595, 20303, 41507, 47594]) : len 10 : pid: 9724 dict_keys([91534, 12121, 94084, 12699, 03382, 10877, 21595, 20303, 41507, 47594]) : len 10 : pid: 9724 try to simulate slow io wait... try to simulate slow data processing... filelist/3.pkl.gz : idx: 2 : data: dict_keys([85974, 89204, 39248, 46884, 09986, 30033, 97369, 18704, 24227, 15649]) : len 10 : pid: 9724 dict_keys([85974, 89204, 39248, 46884, 09986, 30033, 97369, 18704, 24227, 15649]) : len 10 : pid: 9724 try to simulate slow io wait... .......4.2.
http://www.hkea.cn/news/14421640/

相关文章:

  • 深圳市做网站的深圳社保
  • 保山网站建设服务网站制作业务
  • 视频发布播放网站建设做网站后期续费是怎么算的
  • 网站开发软件培训做五金有哪些网站推广
  • 互联网网站开发发展十大网站排行榜
  • 手机网站 input企业宣传片摄制
  • 公司网站发展规划书深达网站制作深圳公司
  • 网站开发设置网页端口wordpress视频主题吾爱破解版
  • 别人的抖音网站是怎么做的网站建设中翻译
  • 网站首页添加代码外链工具
  • 我做微信淘宝客网站有哪些专门做外包的网站
  • 中国交通建设集团网站我要自学网做网站
  • 如何建学校网站学院网站建设的目的
  • 如何免费建设公司网站云服务器小网站制作
  • 东丽天津网站建设广州app开发
  • 河北建设银行官网招聘网站网站相对路径和绝对路径
  • 建设网站毕业设计开题报告做网站有谁做
  • wordpress公共库设置安徽seo顾问服务
  • 网站建设方案书可自行撰写wordpress 中英文切换
  • 网站建设开发报价用wordpress做广告收益
  • 工程网站建设方案网站首页布局设计工具
  • 万和城官方网站网站域名年龄
  • 做效果图比较好的模型网站瓯海建设网站
  • 百度做网站个人工作总结ppt模板免费
  • 如何写一份食品的网站建设规划软件开发专业培训学校
  • oppo官方网站商河 网站建设
  • 郑州网站建设策划方案网站上线有什么线上活动可以做
  • 网站做一样没有侵权吧网页不能下载的wordpress
  • 驻马店网站建设费用安徽网站建设详细教程
  • 太原网络营销策划seo建站营销