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

美食美客网站建设宝应吧百度贴吧

美食美客网站建设,宝应吧百度贴吧,网站可访问性,永年做网站注意#xff1a;博主没有重写d2l的源代码文件#xff0c;而是创建了一个新的python文件#xff0c;并重写了该方法。 一、代码运行日志 C:\Users\Administrator\anaconda3\envs\limu\python.exe G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py Traceback (most r… 注意博主没有重写d2l的源代码文件而是创建了一个新的python文件并重写了该方法。 一、代码运行日志 C:\Users\Administrator\anaconda3\envs\limu\python.exe G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py Traceback (most recent call last):File string, line 1, in module Traceback (most recent call last):File string, line 1, in moduleFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 116, in spawn_mainFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 116, in spawn_mainexitcode _main(fd, parent_sentinel)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 125, in _mainTraceback (most recent call last): exitcode _main(fd, parent_sentinel)File string, line 1, in moduleFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 125, in _main Traceback (most recent call last):File string, line 1, in module prepare(preparation_data)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 236, in prepareprepare(preparation_data)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 236, in prepare_fixup_main_from_path(data[init_main_from_path])File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 287, in _fixup_main_from_path_fixup_main_from_path(data[init_main_from_path])File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 287, in _fixup_main_from_pathmain_content runpy.run_path(main_path,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 265, in run_pathmain_content runpy.run_path(main_path,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 265, in run_pathreturn _run_module_code(code, init_globals, run_name,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 97, in _run_module_codereturn _run_module_code(code, init_globals, run_name,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 97, in _run_module_code_run_code(code, mod_globals, init_globals,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 87, in _run_code_run_code(code, mod_globals, init_globals,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 87, in _run_codeFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 116, in spawn_mainFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 116, in spawn_mainexec(code, run_globals)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 97, in module exec(code, run_globals)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 97, in moduletrain_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 81, in train_ch03 exitcode _main(fd, parent_sentinel) train_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 125, in _mainFile G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 81, in train_ch03exitcode _main(fd, parent_sentinel)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 125, in _maintrain_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)train_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 64, in train_epoch_ch03File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 64, in train_epoch_ch03prepare(preparation_data)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 236, in prepareprepare(preparation_data)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 236, in preparefor X, y in train_iter:for X, y in train_iter:File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 441, in __iter__File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 441, in __iter___fixup_main_from_path(data[init_main_from_path])_fixup_main_from_path(data[init_main_from_path])File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 287, in _fixup_main_from_pathFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 287, in _fixup_main_from_pathmain_content runpy.run_path(main_path,main_content runpy.run_path(main_path,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 265, in run_pathFile C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 265, in run_pathreturn self._get_iterator()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 388, in _get_iteratorreturn self._get_iterator()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 388, in _get_iteratorreturn _run_module_code(code, init_globals, run_name,return _run_module_code(code, init_globals, run_name,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 97, in _run_module_codeFile C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 97, in _run_module_codereturn _MultiProcessingDataLoaderIter(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1042, in __init__return _MultiProcessingDataLoaderIter(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1042, in __init___run_code(code, mod_globals, init_globals, _run_code(code, mod_globals, init_globals,File C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 87, in _run_codeFile C:\Users\Administrator\anaconda3\envs\limu\lib\runpy.py, line 87, in _run_codeexec(code, run_globals) exec(code, run_globals)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 97, in moduleFile G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 97, in moduletrain_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 81, in train_ch03 train_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 81, in train_ch03w.start()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\process.py, line 121, in startw.start()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\process.py, line 121, in starttrain_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)train_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 64, in train_epoch_ch03File G:\PyCharmProjects\limu-d2l\ch03\softmax_regression.py, line 64, in train_epoch_ch03self._popen self._Popen(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 224, in _Popenfor X, y in train_iter:for X, y in train_iter:File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 441, in __iter__File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 441, in __iter__self._popen self._Popen(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 224, in _Popenreturn _default_context.get_context().Process._Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 327, in _Popenreturn _default_context.get_context().Process._Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 327, in _Popenreturn self._get_iterator()return self._get_iterator()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 388, in _get_iteratorFile C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 388, in _get_iteratorreturn Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\popen_spawn_win32.py, line 45, in __init__return Popen(process_obj) return _MultiProcessingDataLoaderIter(self)return _MultiProcessingDataLoaderIter(self)prep_data spawn.get_preparation_data(process_obj._name)File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1042, in __init__File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1042, in __init__File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 154, in get_preparation_dataFile C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\popen_spawn_win32.py, line 45, in __init__prep_data spawn.get_preparation_data(process_obj._name)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 154, in get_preparation_data _check_not_importing_main()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 134, in _check_not_importing_main_check_not_importing_main()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 134, in _check_not_importing_mainraise RuntimeError( RuntimeError: An attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ __main__:freeze_support()...The freeze_support() line can be omitted if the programis not going to be frozen to produce an executable.w.start()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\process.py, line 121, in startw.start()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\process.py, line 121, in startraise RuntimeError( RuntimeError: An attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ __main__:freeze_support()...The freeze_support() line can be omitted if the programis not going to be frozen to produce an executable.self._popen self._Popen(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 224, in _Popenself._popen self._Popen(self)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 224, in _Popenreturn _default_context.get_context().Process._Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 327, in _Popen return _default_context.get_context().Process._Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\context.py, line 327, in _Popenreturn Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\popen_spawn_win32.py, line 45, in __init__return Popen(process_obj)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\popen_spawn_win32.py, line 45, in __init__prep_data spawn.get_preparation_data(process_obj._name)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 154, in get_preparation_dataprep_data spawn.get_preparation_data(process_obj._name)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 154, in get_preparation_data_check_not_importing_main()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 134, in _check_not_importing_main_check_not_importing_main()File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\spawn.py, line 134, in _check_not_importing_mainraise RuntimeError(raise RuntimeError( RuntimeError: RuntimeErrorAn attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ __main__:freeze_support()...The freeze_support() line can be omitted if the programis not going to be frozen to produce an executable.: An attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ __main__:freeze_support()...The freeze_support() line can be omitted if the programis not going to be frozen to produce an executable. Traceback (most recent call last):File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1132, in _try_get_datadata self._data_queue.get(timeouttimeout)File C:\Users\Administrator\anaconda3\envs\limu\lib\multiprocessing\queues.py, line 108, in getraise Empty _queue.EmptyThe above exception was the direct cause of the following exception:Traceback (most recent call last):File G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py, line 97, in moduletrain_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)File G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py, line 81, in train_ch03train_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)File G:/PyCharmProjects/limu-d2l/ch03/softmax_regression.py, line 64, in train_epoch_ch03for X, y in train_iter:File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 633, in __next__data self._next_data()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1328, in _next_dataidx, data self._get_data()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1294, in _get_datasuccess, data self._try_get_data()File C:\Users\Administrator\anaconda3\envs\limu\lib\site-packages\torch\utils\data\dataloader.py, line 1145, in _try_get_dataraise RuntimeError(DataLoader worker (pid(s) {}) exited unexpectedly.format(pids_str)) from e RuntimeError: DataLoader worker (pid(s) 14032, 23312, 21048, 1952) exited unexpectedlyProcess finished with exit code 1二、问题分析 这个错误是由于在使用多进程 DataLoader 时出现的问题通常与 Windows 操作系统相关。在 Windows 上使用多进程的 DataLoader 可能会导致一些问题这与 Windows 的进程模型不太兼容。 三、解决方案使用单进程 DataLoader 在 Windows 上将 DataLoader 的 num_workers 参数设置为 0以使用单进程 DataLoader。这会禁用多进程加载数据虽然可能会导致数据加载速度变慢但通常可以解决与多进程 DataLoader 相关的问题。 d2l.load_data_fashion_mnist(batch_size)源代码 def get_dataloader_workers():Use 4 processes to read the data.Defined in :numref:sec_utilsreturn 4def load_data_fashion_mnist(batch_size, resizeNone):Download the Fashion-MNIST dataset and then load it into memory.Defined in :numref:sec_utilstrans [transforms.ToTensor()]if resize:trans.insert(0, transforms.Resize(resize))trans transforms.Compose(trans)mnist_train torchvision.datasets.FashionMNIST(root../data, trainTrue, transformtrans, downloadTrue)mnist_test torchvision.datasets.FashionMNIST(root../data, trainFalse, transformtrans, downloadTrue)return (torch.utils.data.DataLoader(mnist_train, batch_size, shuffleTrue,num_workersget_dataloader_workers()),torch.utils.data.DataLoader(mnist_test, batch_size, shuffleFalse,num_workersget_dataloader_workers()))在代码中使用修改后的load_data_fashion_mnist函数 def load_data_fashion_mnist(batch_size, resizeNone, num_workers4):下载Fashion-MNIST数据集然后将其加载到内存中trans [transforms.ToTensor()]if resize:trans.index(0, transforms.Resize(resize))trans transforms.Compose(trans)mnist_train torchvision.datasets.FashionMNIST(root../data, trainTrue, transformtrans, downloadTrue)mnist_test torchvision.datasets.FashionMNIST(root../data, trainFalse, transformtrans, downloadTrue)return (data.DataLoader(mnist_train, batch_size, shuffleTrue, num_workersnum_workers),data.DataLoader(mnist_test, batch_size, shuffleFalse, num_workersnum_workers))train_iter, test_iter fashion_mnist.load_data_fashion_mnist(batch_size, num_workers0)四、为什么将 DataLoader 的 num_workers 参数设置为 0是使用的单进程而不是零进程呢 在 PyTorch 的 DataLoader 中num_workers 参数控制了用于加载数据的子进程数量。当 num_workers 被设置为 0 时实际上是表示不使用任何子进程来加载数据即单进程加载数据。 为什么不是零进程这是因为 DataLoader 需要至少一个进程来加载数据这个进程被称为主进程。主进程负责数据加载和分发给训练的进程。当 num_workers 设置为 0 时只有主进程用于加载和处理数据没有额外的子进程。这是一种单进程的数据加载方式。 如果将 num_workers 设置为 1则会有一个额外的子进程来加载数据总共会有两个进程一个主进程和一个数据加载子进程。这种设置可以在某些情况下提高数据加载的效率特别是当数据加载耗时较长时子进程可以并行地加载数据从而加速训练过程。 五、完整训练代码 import torch from d2l import torch as d2l import fashion_mnistbatch_size 256 train_iter, test_iter fashion_mnist.load_data_fashion_mnist(batch_size, num_workers0)# 初始化模型参数 num_inputs 784 # 每个输入图像的通道数为1, 高度和宽度均为28像素 num_outputs 10W torch.normal(0, 0.01, size(num_inputs, num_outputs), requires_gradTrue) b torch.zeros(num_outputs, requires_gradTrue)# 定义softmax操作 def softmax(X):矩阵中的非常大或非常小的元素可能造成数值上溢或者下溢解决方案: P84 3.7.2 重新审视softmax的实现X_exp torch.exp(X)partition X_exp.sum(1, keepdimTrue)return X_exp / partition# 定义模型 def net(X):return softmax(torch.matmul(X.reshape((-1, W.shape[0])), W) b)# 定义损失函数 def cross_entropy(y_hat, y):return - torch.log(y_hat[range(len(y_hat)), y])# 分类精度 def accuracy(y_hat, y):计算预测正确的数量if len(y_hat.shape) 1 and y_hat.shape[1] 1:y_hat y_hat.argmax(axis1)cmp y_hat.type(y.dtype) yreturn float(cmp.type(y.dtype).sum())def evaluate_accuracy(net, data_iter):计算在制定数据集上模型的精度if isinstance(net, torch.nn.Module):net.eval()metric d2l.Accumulator(2)with torch.no_grad():for X, y in data_iter:metric.add(accuracy(net(X), y), y.numel())return metric[0] / metric[1]# 训练 def train_epoch_ch03(net, train_iter, loss, updater):if isinstance(net, torch.nn.Module):net.train()# 训练损失总和, 训练准确度总和, 样本数metric d2l.Accumulator(3)for X, y in train_iter:y_hat net(X)l loss(y_hat, y)if isinstance(updater, torch.optim.Optimizer):updater.zero_grad()l.mean().backward()updater.step()else:l.sum().backward()updater(X.shape[0])metric.add(float(l.sum()), accuracy(y_hat, y), y.numel())# 返回训练损失和训练精度return metric[0] / metric[2], metric[1] / metric[2]def train_ch03(net, train_iter, test_iter, loss, num_epochs, updater):for epoch in range(num_epochs):train_loss, train_acc train_epoch_ch03(net, train_iter, loss, updater)test_acc evaluate_accuracy(net, test_iter)print(fepoch {epoch 1}, train_loss {train_loss:f}, train_acc {train_acc:f}, test_acc {test_acc:f})assert train_loss 0.5, train_lossassert train_acc 1 and train_acc 0.7, train_accassert test_acc 1 and test_acc 0.7, test_acclr 0.1def updater(batch_size):return d2l.sgd([W, b], lr, batch_size)num_epochs 10 train_ch03(net, train_iter, test_iter, cross_entropy, num_epochs, updater)
http://www.w-s-a.com/news/366275/

相关文章:

  • 桓台网站建设公司首钢建设二建设公司网站
  • 网站建设添加背景命令前端如何优化网站性能
  • 设置网站域名中山画册设计公司
  • 三更app下载网站东莞网站制作公
  • 做图书馆网站模板网站建设文化策划方案
  • 惠州城乡住房建设厅网站服装设计自学零基础
  • 网站建设常态化工作机制广州骏域网络
  • h5婚纱摄影网站模板wordpress 显示下列项目
  • 广告网站推广销售北京最新消息发布
  • 完整网站源码asp拨打12355可以找团员密码吗
  • 北京有多少家网站怎么自己在百度上做网站
  • 怎样围绕网站专题发展来做ppt网站建设回龙观
  • 网站配置服务Wordpress红色网站源码
  • 外贸网站建设内容包括软件开发公司流程
  • 做中医药网站有前景吗企业网站优化公司
  • 四川建设设计公司网站海南澄迈县
  • 邳州做网站梵克雅宝项链官网价格图片
  • dede网站收录滦平县建设局网站
  • 上海网站建设开发公注册公司要求什么条件
  • 安徽汽车网网站建设wordpress 知乎
  • 网站建设的功能都需要有哪些在线平台
  • 湖南岳阳网站开发网络公司石家庄做网站的公司哪个好
  • 西安市做网站的公司门户网站对应序号是什么
  • 太原网站域名开发什么是网页界面设计
  • 做产品类网站有哪些做一百度网站吗
  • 在线视频网站建设国外最新创意产品网站有哪些方面
  • 在一个网站下建设多个子网站宣传册画册设计公司
  • 潍坊网站建设公司排名网站建设预付
  • 手机和wap网站建设crm客户管理系统模板
  • 微商城网站建设市场唐山地方志网站建设