2006-2024年!183万+中国手机基站数据

参考《数量经济技术经济研究》中钞小静(2024)、陈强(2024)等人的做法,从OpenCelliD(世界上最大的开放式手机基站数据库)中爬取全球5000万余条基站信息

筛选得到中国的基站信息,获取中国2G、3G、4G、5G基站的原始数据。覆盖年份为2006-2024年,总计183万余条,是具有价值的研究资料

一、数据介绍

数据名称:中国手机基站数据

数据范围:中国

时间范围:2006-2024年

样本数量:183.6万条

数据来源:OpenCelliD

数据整理:根据OpenCelliD历史数据整理

二、指标定义

三、参考文献

[1]钞小静,薛志欣.新型信息基础设施对中国经济韧性的影响——来自中国城市的经验证据[J].经济学动态,2023,(08):44-62.

[2]陈强远,崔雨阳,蔡卫星.数字政府建设与城市治理质量:来自公共安全部门的证据[J].数量经济技术经济研究,2024,41(11):132-154.

[3]钞小静,廉园梅,元茹静,等.数字基础设施建设与产业链韧性——基于产业链恢复能力数据的实证分析[J].数量经济技术经济研究,2024,41(11):112-131.

[4]Ackermann, K., Awaworyi Churchill, S., & Smyth, R. (2021). Mobile phone coverage and violent conflflict. Journal of Economic Behavior & Organization, 188, 269–287.

四、数据概览

中国手机基站数据-分年份数据

中国手机基站数据-数据概览

【下载→

方式一(推荐):主页↓个人↓简介
经管数据库-优快云博客

方式二:数据下载地址汇总-优快云博客

<think>好的,我现在需要帮助用户解决Docker运行时出现的GPU驱动错误问题。用户已经提供了之前的对话历史和相关引用,我需要仔细分析这些信息来给出正确的解决方案。 首先,用户当前的错误信息是“docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]”,这表明Docker无法找到合适的GPU驱动。用户提到他们使用的是NVIDIA GeForce RTX 3090,CUDA版本12.2,驱动版本535.183.01。看起来驱动已经安装,但Docker容器无法识别。 回顾之前的解决方案,用户已经尝试安装NVIDIA容器工具包,并验证了nvidia-smi的输出。现在的问题可能出在容器运行时配置或驱动兼容性上。需要检查几个方面: 1. **NVIDIA驱动版本兼容性**:用户当前的驱动版本是535.183.01,CUDA 12.2。需要确认这个驱动版本是否与Docker的NVIDIA容器工具包兼容。通常,较新的驱动版本不会有问题,但有时可能需要特定版本的容器工具包。 2. **NVIDIA容器工具包安装**:虽然用户已经安装了工具包,但可能配置不正确。需要检查Docker的运行时配置是否正确,是否将nvidia作为默认运行时。 3. **Docker命令参数**:用户使用的命令是否正确,特别是--gpus参数的位置和选项。根据引用[1],需要确保命令中包含--gpus all,并且基础镜像支持CUDA 12.2。 4. **用户权限问题**:用户是否在docker组中,是否有权限访问GPU设备。引用[2]中提到可能需要将用户加入docker组,并重启服务。 接下来,根据用户的引用内容,引用[1]提到检查--gpus参数是否安装成功,可以通过docker run --help | grep -i gpus来验证。如果输出中有相关选项,说明Docker已经支持GPU。然后运行测试容器docker run --gpus all nvidia/cuda:11.0-base nvidia-smi,但用户使用的是CUDA 12.2,可能需要使用对应的基础镜像,比如nvidia/cuda:12.2-base。 引用[2]提到安装NVIDIA Container Toolkit,用户可能已经做了,但需要确认是否正确安装并重启了Docker服务。引用[3]中的一些参数可能与显示相关,但当前问题主要是GPU驱动,可能不需要这些参数。 可能的解决方案步骤: 1. **确认NVIDIA驱动和CUDA版本兼容性**:用户驱动版本535.183.01支持CUDA 12.2,应该是兼容的。但需要确认容器工具包是否支持该版本。 2. **重新安装或更新NVIDIA容器工具包**:可能用户安装的容器工具包版本较旧,需要更新到支持CUDA 12.2的版本。可以按照官方文档重新安装。 3. **配置Docker使用nvidia运行时**:编辑/etc/docker/daemon.json,添加默认运行时为nvidia,并重启Docker服务。 4. **使用正确的基础镜像**:用户应该使用与CUDA 12.2对应的镜像,如nvidia/cuda:12.2-base,而不是11.0版本,以避免版本不匹配。 5. **验证用户权限**:确保用户属于docker组,并且有权限访问GPU设备。 在用户提供的错误中,可能因为基础镜像的CUDA版本与宿主机不一致导致问题。例如,如果用户使用的是CUDA 12.2,但容器镜像使用的是CUDA 11.0,可能会出现兼容性问题。因此,更换镜像版本可能解决。 此外,用户可能没有正确配置Docker的运行时,需要检查daemon.json文件是否包含nvidia运行时,并重启Docker服务。 总结,需要分步骤引导用户检查驱动、容器工具包安装、Docker配置、镜像版本和权限问题,逐步排除可能的原因。</think>### 解决方案:NVIDIA RTX 3090在Docker中无法调用GPU的完整修复指南 --- #### 一、核心问题定位 根据您的硬件配置(NVIDIA RTX 3090 + CUDA 12.2 + 驱动535.183.01)和报错信息,问题根源是**Docker运行时未正确加载NVIDIA GPU驱动**。以下是关键验证步骤: --- #### 二、分步修复操作 ##### 1. **验证NVIDIA驱动与CUDA版本兼容性** ```bash nvidia-smi # 检查驱动版本是否为535.183.01 nvcc --version # 检查CUDA版本是否为12.2 ``` - **输出示例**: ``` CUDA Version: 12.2 Driver Version: 535.183.01 ``` - **若版本不匹配**:需升级驱动或CUDA Toolkit[^1]。 ##### 2. **重新安装NVIDIA Container Toolkit(关键步骤)** ```bash # 移除旧版本(若存在) sudo apt-get purge nvidia-container-toolkit # 添加NVIDIA仓库并安装最新版 distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt update sudo apt install -y nvidia-container-toolkit ``` ##### 3. **强制指定Docker运行时为nvidia** 编辑Docker配置文件: ```bash sudo nano /etc/docker/daemon.json ``` 添加以下内容: ```json { "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" # 关键配置 } ``` 重启Docker服务: ```bash sudo systemctl restart docker ``` ##### 4. **运行适配CUDA 12.2的测试容器** ```bash docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu20.04 nvidia-smi ``` - **预期输出**:显示与宿主机相同的GPU信息表 - **若失败**:检查`/var/log/nvidia-container.log`中的错误日志 --- #### 三、高级配置(针对特殊场景) ##### 场景1:多GPU设备筛选 ```bash # 仅使用GPU索引0和1 docker run --gpus '"device=0,1"' ... # 排除某块GPU docker run --gpus '"device=0,2"' ... ``` ##### 场景2:容器内CUDA版本冲突 ```bash # 显式指定CUDA版本(必须与宿主机驱动兼容) docker run --rm -it --gpus all nvidia/cuda:12.2.0-devel-ubuntu20.04 ``` ##### 场景3:持久化GPU模式(提升性能) ```bash # 启用持久化模式(需先安装nvidia-persistenced) sudo nvidia-persistenced --user root ``` --- #### 四、验证流程图 ```mermaid graph TD A[启动容器报错] --> B{驱动验证} B -->|正常| C[检查nvidia-container-toolkit] C -->|已安装| D[检查daemon.json配置] D -->|正确| E[测试CUDA 12.2镜像] E -->|成功| F[问题解决] E -->|失败| G[查看nvidia-container.log] G --> H[根据日志修复] ``` --- #### 五、常见问题解答 1. **为什么必须使用`nvidia/cuda:12.2`镜像?** CUDA主版本号(12.x)必须与宿主机驱动兼容,次版本号(如12.1→12.2)可向下兼容[^1]。 2. **如何验证容器内CUDA功能?** ```bash docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu20.04 bash -c "cd /usr/local/cuda/samples/1_Utilities/deviceQuery && make && ./deviceQuery" ``` 3. **Windows WSL2环境下如何配置?** 需在Windows中安装NVIDIA驱动,并通过`--platform=linux/amd64`参数运行容器[^3]。 --- #### 六、性能优化建议 - 在`docker run`命令中添加`--ipc=host`以共享内存(提升多进程性能) - 使用`--shm-size=32g`调整共享内存大小(避免PyTorch等框架OOM) - 挂载GPU计算库:`-v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu` [^1]: NVIDIA CUDA兼容性矩阵:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html [^2]: Docker GPU高级配置文档:https://docs.docker.com/config/containers/resource_constraints/#gpu [^3]: WSL2 GPU支持指南:https://docs.nvidia.com/cuda/wsl-user-guide/index.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值