-
气象数据获取因其数据源多、请求规则不一,格式复杂、体积庞大,所以经常成为气象小白的噩梦。这里收集了一些常用气象数据下载方法及下载的代码,供大家参考 目录 1. 中国气象数据网(这是最官方的数据平台) 2. NOAA 全球地面站观测数据 3. 全球探空数据 4. 全国空气质量观测数据 5. MODIS 极轨卫星数据 6. NCEP FNL 再分析数据(常用的气象再分析数据) 7. NCEP-DOE Reanalysis 2 再分析数据 8. ERA 数据 8.1 ERA-Interim 8.2 ERA5 9. GFS/GDAS 数据 最常用的气象预报数据 10. 葵花 8 号 Himawari-8 卫星数据 11. JRA-55 再分析数据 12. TEMIS遥感数据 13. 我国台风历史轨迹数据 14. CMIP6 国际耦合模式比较计划 15. 其他 1. 中国气象数据网(这是最官方的数据平台) 中国气象数据网是官网平台,需要注册才能使用,分普通用户,个人实名用户,科研用户。数据种类很丰富,唯一的不足是下载需要权限。当然,很多气象数据的密级为秘密,大家在使用分享时一定要注意哦!网站也提供接口服务,可以免费使用7天。 数据下载: 国家气象科学数据中心 2. NOAA 全球地面站观测数据 “The Global Historical Climatology Network (GHCN) is an integrated database of climate summaries from land surface stations across the globe that have been subjected to a common suite of quality assurance reviews. The data are obtained from more than 20 sources. Some data are more than 175 years old while others are less than an hour old. GHCN is the official archived dataset, and it serves as a replacement product for older NCEI-maintained datasets that are designated for daily temporal resolution (i.e., DSI 3200, DSI 3201, DSI 3202, DSI 3205, DSI 3206, DSI 3208, DSI 3210, etc.).” From Global Historical Climatology Network (GHCN): https://www.ncdc.noaa.gov/data-access/land-based-station-data/land-based-datasets/global-historical-climatology-network-ghcn 数据是按站点存放的,可以根据需求下载需要的数据。在数据下载链接的根目录下,“readme.txt”文件对数据的存在格式等进行了说明。准实时更新~ 数据下载: ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/daily/ 数据读取示例: https://github.com/BeiTown/WeatherAnalysis 批量下载数据代码: 使用Python下载NOAA气象数据 3. 全球探空数据 探空站一般是为探测高空气象要素而建立的,通过探空气球来收集每天8点和20点的高空气象数据,遇到特殊天气(台风等)会进行加密观测。可以获近地层、850、700、500、200百帕的温度、温度露点差、位势高度、风速风向等气象要素。探空数据在天气预报有着重要的指示作用,可以分析出高空引导气流的位置、强度,及到达本地的时间和对当地天气的影响情况。 数据来自怀俄明大学:http://weather.uwyo.edu/upperair/seasia.html 我国的探空站表格:http://data.cma.cn/article/showPDFFile.html?file=/pic/static/doc/B/B.0011.0001C/UPAR_CHN_MUL_STATION.pdf 批量下载数据代码: 全球探空数据批量下载数据代码 4. 全国空气质量观测数据 大佬将中国环境监测总站的全国城市空气质量实时发布平台的数据爬下来分享,免费下载,每周更新~ 网址:https://quotsoft.net/air/ 全国国控监测点数据 CSV格式 https://quotsoft.net/air/data/china_sites_[日期].csv 全国城市数据 CSV格式 https://quotsoft.net/air/data/china_cities_[日期].csv 北京PM2.5/PM10/AQI数据 CSV格式 https://quotsoft.net/air/data/beijing_all_[日期].csv 北京SO2/NO2/O3/CO数据 CSV格式 https://quotsoft.net/air/data/beijing_extra_[日期].csv 例如: https://quotsoft.net/air/data/china_sites_20200820.csv 填写日期即可 网站:http://www.pm25.in 批量下载数据代码: 空气质量观测数据批量下载数据代码 常用气象数据下载——实时空气质量数据 5. MODIS 极轨卫星数据 MODIS数据目前比较全面的是在 LAADS(https://ladsweb.modaps.eosdis.nasa.gov/search/) 或者地理空间云(http://http//www.gscloud.cn/) 进入以后注册NASA账户,记得申请apikey 这个网站下载推荐python脚本方法 我常用的下载命令: python laads-data-download.py -s https://ladsweb.modaps.eosdis.nasa.gov/archive/orders/501412572 -d E:\temp\ -t <这里写apikey,不要两侧的括号> 6. NCEP FNL 再分析数据(常用的气象再分析数据) 数据下载自NCAR:https://rda.ucar.edu/ 需要自行注册账户,最好是edu结尾的邮箱。 NCEP的FNL资料:http://rda.ucar.edu/data/ds083.2 空间分辨率:1°×1° 时间分辨率:逐6小时 批量下载数据代码: NCEP FNL 再分析数据批量下载数据代码 常用气象数据下载——NCEP FNL再分析资料 FNL数据下载 7. NCEP-DOE Reanalysis 2 再分析数据 NCEP-DOE Reanalysis 2 is an improved version of the NCEP Reanalysis I model that fixed errors and updated paramterizations of physical processes. 这个数据比较好下,页面点一下就好了。 数据下载:https://psl.noaa.gov/data/gridded/data.ncep.reanalysis2.html 空间分辨率:2.5°×2.5° 时间分辨率:逐6小时 时间尺度:1979/01/01 to 2020/07/31 批量下载数据代码: NCEP批量下载数据代码 常用气象数据下载——NCEP再分析资料 8. ERA 数据 8.1 ERA-Interim ERA-Interim is a global atmospheric reanalysis that is available from 1 January 1979 to 31 August 2019. It has been superseded by the ERA5 reanalysis. The data assimilation system used to produce ERA-Interim is based on a 2006 release of the IFS (Cy31r2). The system includes a 4-dimensional variational analysis (4D-Var) with a 12-hour analysis window. The spatial resolution of the data set is approximately 80 km (T255 spectral) on 60 levels in the vertical from the surface up to 0.1 hPa. For a detailed documentation of the ERA-Interim Archive see Berrisford et al. (2011). An open-access journal article describing the ERA-Interim reanalysis is available from the Quarterly Journal of the Royal Meteorological Society. Additional details of the modelling and data assimilation system used to produce ERA-Interim can be found in the IFS documentation Cy31r1. We are aware of several quality issues with ERA-Interim data. 数据下载: 官网 批量下载数据代码: 批量下载ECMWF数据的正确姿势 8.2 ERA5 A first segment of the ERA5 dataset is now available for public use (1979 to within 5 days of real time). ERA5 provides hourly estimates of a large number of atmospheric, land and oceanic climate variables. The data cover the Earth on a 30km grid and resolve the atmosphere using 137 levels from the surface up to a height of 80km. ERA5 includes information about uncertainties for all variables at reduced spatial and temporal resolutions. Quality-assured monthly updates of ERA5 are published within 3 months of real time. Preliminary daily updates of the dataset are available to users within 5 days of real time. The entire ERA5 dataset from 1950 to present is expected to be available for use in 2020. ERA5 combines vast amounts of historical observations into global estimates using advanced modelling and data assimilation systems. ERA5 replaces the ERA-Interim reanalysis which stopped being produced on 31 August 2019. You can read about the key characteristics of ERA5 and important changes relative to ERA-Interim. 步骤: 1、注册账号,最好是edu结尾的邮箱 2、获取api秘钥,存在工作区下的.cdsapirc 3、检索数据 4、构建下载脚本,主要参数如下,支持grib格式和nc格式 数据下载: 官网 批量下载数据代码: ERA5降水数据下载与绘图 基于AWS S3开放数据集的ERA5数据快速获取与分析 ERA5降水数据下载与绘图 常用气象数据下载——ERA5再分析(grib格式) 下载逐小时、逐日、逐月的ERA5再分析 9. GFS/GDAS 数据 最常用的气象预报数据 The Global Forecast System (GFS) has been in NWS operations since 1980 and is continuously improved by the Global Climate and Weather Modeling Branch which conducts a program of research and development in support of the Environmental Modeling Center (EMC) (www.emc.ncep.noaa.gov) of the National Centers for Environmental Prediction (NCEP) (www.ncep.noaa.gov). 空间分辨率:0.25°×0.25° 时间分辨率:1h 数据下载: 官网 FTP 下载代码: GitHub 10. 葵花 8 号 Himawari-8 卫星数据 葵8数据下载需要注册,科研用途免费,通过也很快的。 JAXA Himawari Monitor:https://www.eorc.jaxa.jp/ptree/index.html 批量下载数据代码: 葵花 8 号 Himawari-8 卫星数据批量下载数据代码 常用气象数据下载——Hamawari8 下载葵花8数据的脚本可以更简单一点 11. JRA-55 再分析数据 网址:https://jra.kishou.go.jp/JRA-55/index_en.html# 12. TEMIS遥感数据 网站:Tropospheric Emission Monitoring Internet Service 该网站上有很多关于空气污染监测、气候变化、紫外辐射相关的遥感产品,这里以Clear sky UV index为例提供一种批量下载方式。 批量下载数据代码: TEMIS遥感数据批量下载 常用气象数据下载——TEMIS遥感数据 13. 我国台风历史轨迹数据 台风历史轨迹数据除了BST以外,还可以通过温州台风网进行查询。两者数据略有差异,BST是之后对历史台风路径进行校正后发布的,其经纬度、强度、气压具有更高的可靠性,但是时间分辨率为6小时,部分3小时,这一点不如观测数据,温州台风网的数据是实时发布数据的记录,时间分辨率最高达1小时,对于台风轨迹具有更加精细化的表述。 批量下载数据代码: 我国台风历史轨迹数据批量下载数据代码 常用气象数据下载——我国台风历史轨迹数据 14. CMIP6 国际耦合模式比较计划 官网:https://www.wcrp-climate.org/wgcm-cmip CMIP是国际耦合模式比较计划(Coupled Model Intercomparison Project)的缩写,最早是在 1995 年由世界气候研究计划(WCRP)下属的耦合模式工作组(WGCM)主持开展的。自 CMIP 诞生以来,一直致力于促进气候模式的发展和完善,并支持气候变化的评估和预估工作。目前已开展了 5 次耦合模式比较计划,当前正在进行的是第 6 次耦合模式比较计划,即 CMIP6。基于 CMIP 计划的气候变化研究,是气候评估和谈判的重要基础,也为 IPCC 气候变化评估报告的撰写提供了参考价值。 批量下载数据代码: CMIP6批量下载数据代码 ———————————————— 版权声明:本文为CSDN博主「qazwsxpy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qazwsxpy/article/details/127427409
-
我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库 在当前目录新建一个Git代码库 $ git init 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone 二、配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。 显示当前的Git配置 $ git config --list 编辑Git配置文件 $ git config -e [--global] 设置提交代码时的用户信息 $ git config [--global] user.name "[name]" $ git config [--global] user.email "[email address]" 三、增加/删除文件 添加指定文件到暂存区 $ git add [file1] [file2] ... 添加指定目录到暂存区,包括子目录 $ git add [dir] 添加当前目录的所有文件到暂存区 $ git add . 添加每个变化前,都会要求确认 对于同一个文件的多处变化,可以实现分次提交 $ git add -p 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... 停止追踪指定文件,但该文件会保留在工作区 $ git rm --cached [file] 改名文件,并且将这个改名放入暂存区 $ git mv [file-original] [file-renamed] 四、代码提交 提交暂存区到仓库区 $ git commit -m [message] 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message] 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -a 提交时显示所有diff信息 $ git commit -v 使用一次新的commit,替代上一次提交 如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend -m [message] 重做上一次commit,并包括指定文件的新变化 $ git commit --amend [file1] [file2] ... 五、分支 列出所有本地分支 $ git branch 列出所有远程分支 $ git branch -r 列出所有本地分支和远程分支 $ git branch -a 新建一个分支,但依然停留在当前分支 $ git branch [branch-name] 新建一个分支,并切换到该分支 $ git checkout -b [branch] 新建一个分支,指向指定commit $ git branch [branch] [commit] 新建一个分支,与指定的远程分支建立追踪关系 $ git branch --track [branch] [remote-branch] 切换到指定分支,并更新工作区 $ git checkout [branch-name] 切换到上一个分支 $ git checkout - 建立追踪关系,在现有分支与指定的远程分支之间 $ git branch --set-upstream [branch] [remote-branch] 合并指定分支到当前分支 $ git merge [branch] 选择一个commit,合并进当前分支 $ git cherry-pick [commit] 删除分支 $ git branch -d [branch-name] 删除远程分支 $ git push origin --delete [branch-name] $ git branch -dr [remote/branch] 六、标签 列出所有tag $ git tag 新建一个tag在当前commit $ git tag [tag] 新建一个tag在指定commit $ git tag [tag] [commit] 删除本地tag $ git tag -d [tag] 删除远程tag $ git push origin :refs/tags/[tagName] 查看tag信息 $ git show [tag] 提交指定tag $ git push [remote] [tag] 提交所有tag $ git push [remote] --tags 新建一个分支,指向某个tag git checkout -b [branch] [tag] 七、查看信息 显示有变更的文件 $ git status 显示当前分支的版本历史 $ git log 显示commit历史,以及每次commit发生变更的文件 $ git log --stat 搜索提交历史,根据关键词 $ git log -S [keyword] 显示某个commit之后的所有变动,每个commit占据一行 $ git log [tag] HEAD --pretty=format:%s 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 $ git log [tag] HEAD --grep feature 显示某个文件的版本历史,包括文件改名 $ git log --follow [file] $ git whatchanged [file] 显示指定文件相关的每一次diff $ git log -p [file] 显示过去5次提交 $ git log -5 --pretty --oneline 显示所有提交过的用户,按提交次数排序 $ git shortlog -sn 显示指定文件是什么人在什么时间修改过 $ git blame [file] 显示暂存区和工作区的差异 $ git diff 显示暂存区和上一个commit的差异 $ git diff --cached [file] 显示工作区与当前分支最新commit之间的差异 $ git diff HEAD 显示两次提交之间的差异 $ git diff [first-branch]...[second-branch] 显示今天你写了多少行代码 $ git diff --shortstat "@{0 day ago}" 显示某次提交的元数据和内容变化 $ git show [commit] 显示某次提交发生变化的文件 $ git show --name-only [commit] 显示某次提交时,某个文件的内容 $ git show [commit]:[filename] # 显示当前分支的最近几次提交 $ git reflog 八、远程同步 下载远程仓库的所有变动 $ git fetch [remote] 显示所有远程仓库 $ git remote -v 显示某个远程仓库的信息 $ git remote show [remote] 增加一个新的远程仓库,并命名 $ git remote add [shortname] 取回远程仓库的变化,并与本地分支合并 $ git pull [remote] [branch] 上传本地指定分支到远程仓库 $ git push [remote] [branch] 强行推送当前分支到远程仓库,即使有冲突 $ git push [remote] --force 推送所有分支到远程仓库 $ git push [remote] --all 九、撤销 恢复暂存区的指定文件到工作区 $ git checkout [file] 恢复某个commit的指定文件到暂存区和工作区 $ git checkout [commit] [file] 恢复暂存区的所有文件到工作区 $ git checkout . 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 $ git reset [file] 重置暂存区与工作区,与上一次commit保持一致 $ git reset --hard 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变 $ git reset [commit] 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致 $ git reset --hard [commit] 重置当前HEAD为指定commit,但保持暂存区和工作区不变 $ git reset --keep [commit] 新建一个commit,用来撤销指定commit 后者的所有变化都将被前者抵消,并且应用到当前分支 $ git revert [commit] 暂时将未提交的变化移除,稍后再移入 $ git stash $ git stash pop 十、其他 生成一个可供发布的压缩包 $ git archive 文章链接:https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
-
1、重置当前分支到此次提交 可以实现版本push后的回退。操作流程可以看下面文章 https://blog.csdn.net/st75033562/article/details/111655740 2、重置当前分支到此次提交 可以在获取后重置到工作副本空间 3、如果commit后,没有push选择重置当前分支到此次提交可以回退到当前历史,并把回退记录删除 回滚提交 适合在commit后没有push,但是这种回退push后会有回退历史记录
-
漏洞名称:GitLab 远程代码执行漏洞组件名称:GitLab影响范围:14.0 ≤ GitLab CE/EE < 14.10.515.0 ≤ GitLab CE/EE < 15.0.415.1 ≤ GitLab CE/EE < 15.1.1漏洞类型:远程代码执行利用条件:1、用户认证:需要用户认证2、前置条件:未知3、触发方式:远程综合评价:<综合评定利用难度>:未知。<综合评定威胁等级>:严重,能造成远程代码执行。漏洞分析:组件介绍:GitLab 是美国 GitLab 公司的一款使用 Ruby on Rails 开发的、自托管的、Git(版本控制系统)项目仓库应用程序。该程序可用于查阅项目的文件内容、提交历史、Bug 列表等。漏洞简介:近日,监测到一则 GitLab组件存在远程代码执行漏洞的信息,漏洞编号:CVE-2022-2185,漏洞威胁等级:严重。该漏洞是由于对授权用户导入的项目检测不完善,攻击者可利用该漏洞获得权限的情况下,构造恶意数据执行远程代码执行攻击,最终获取服务器最高权限。影响范围目前受影响的 GitLab 版本:14.0 ≤ GitLab CE/EE < 14.10.515.0 ≤ GitLab CE/EE < 15.0.415.1 ≤ GitLab CE/EE < 15.1.1解决方案:1.如何检测组件系统版本右上角找到 help,点击选择栏中的“帮助”,即可看到版本信息。2.官方修复建议当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:https://packages.GitLab.com/GitLab/
-
GitHub 重磅宣布,计划将于 2022 年 12 月 15 日关闭 Atom。Atom 是 GitHub 于 2011 年专门为程序员推出的一个跨平台文本编辑器。GitHub 的初心是为开发者提供一个可深度定制但又易于使用的文本编辑器,以便让更多人使用。这一开源的文本编辑器影响了许多广泛使用的商业应用程序,例如微软的 Visual Studio Code、Slack 和 GitHub Desktop。然而却即将迎来仅剩6个月的“退役”倒计时。图源GitHubGitHub将“赌注”押在了云端GitHub 表示,这样做是为了发展专注于基于云的软件。“虽然发展软件创建者社区的目标仍然存在,但我们决定让 Atom 退役,以进一步履行我们通过 Visual Studio Code 和 GitHub Codespaces(一个集成了 Visual Studio Code 的云端开发环境)将反应迅速且可靠的软件带到云端的承诺”,GitHub 于本周三解释道。2018 年 6 月,当微软收购 GitHub 时,时任 CEO Nat Friedman 向 GitHub 社区保证,Atom 还活着并且活得很好!Friedman 曾表示:“Atom 是一个出色的编辑器,它拥有健康的社区、忠实的粉丝、出色的设计,以及对实时协作也在进行尝试。在微软,我们已经使用了从 Atom 到 VS Code 再到 Sublime 到 Vim 的所有编辑器,我们希望开发人员可以在 GitHub 上使用他们喜欢的任何编辑器。因此,我们将继续开发和支持 Atom 和 VS Code。”然而,经过四年的发展,Atom 陷入了停滞。据 GitHub 称,除了维护和安全更新外,该项目几年来没有重大的功能开发。随着这些年新的基于云的工具的出现和发展,Atom 社区的参与度已经明显下降了。本地安装软件的业务现在看起来不如基于云的应用程序有吸引力。GitHub 发言人曾表示:“我们希望在未来几年专注投资于我们核心的“赌注”,即专注于增强开发人员在云端中的体验。还有许多强大的 Atom 替代品可以满足各种需求,VS Code 也已经获得了巨大的市场份额,因此我们对这种变化充满信心。”Atom退役后将会如何?谈及 Atom 退役后对 GitHub 开发者生态带来的影响,GitHub 发言人回应道:“这应该没有什么影响。GitHub 的 API 将继续得到支持,并使开发者能够在数千种其他产品中与 GitHub 集成。我们还维护自己的应用程序套件,包括 GitHub Desktop、GitHub Mobile 和 GitHub CLI。”Atom 是 Electron 框架的基础。通过 Electron 框架仍可以继续感受到 Atom 的存在。Electron.js 也仍然是 Discord、Skype、Slack、Trello 和 Visual Studio Code 等应用程序的基础。但是技术会发生变化。微软此前曾表示,它打算在 Teams 中脱离 Electron。其他跨平台框架,如 Flutter、Tauri 或微软最近宣布的 .NET Multi-platform App UI (.NET MAUI)可能会受到关注。考虑到时间和精力方面,GitHub 给用户和贡献者留了 6 个月的迁移时间,并计划在接下来的时间里继续将这一决策通知落实到位。在 2022 年 12 月 15 日,其将归档 atom/atom 资源库和 Atom 组织中剩余的所有其他资源库。尽管如此,Atom 看起来可能会在 2022 年 12 月 15 日这一退役日期之后再徘徊一阵子。因为即便 GitHub 打算归档 Atom 存储库,但代码是开源的,任何想要支持该项目的人都可以使用。参考资料:https://github.blog/2022-06-08-sunsetting-atom/https://www.theregister.com/2022/06/08/github_atom_dropped/原文链接:https://blog.csdn.net/csdnopensource/article/details/125203360
-
GitLab 15.0 现已正式发布,其中包括了所有层级的 Container Scanning、Internal notes、与外部组织和联系人的更好链接等内容。进行了 40 多项功能改进,例如在 WYSIWYG 编辑器中编辑 code blocks、links 和 media inline、高级搜索与 OpenSearch 兼容、Container Scanning 适用于所有层等,更多详情可查看https://about.gitlab.com/blog/2022/04/18/gitlab-releases-15-breaking-changes/转载于CSDN微信公众号
-
【功能模块】mindquantum【操作步骤&问题现象】两者代码内容不同,印象中mindspore.cn和github/gitee上一致,今天发现有了不同。【截图信息】官方doc地址:https://www.mindspore.cn/mindquantum/api/zh-CN/master/_modules/mindquantum/algorithm/library/amplitude_encoder.html#amplitude_encodergitee地址:https://gitee.com/mindspore/mindquantum/blob/master/mindquantum/algorithm/library/amplitude_encoder.py【日志信息】(可选,上传日志内容或者附件)
-
【功能模块】按照链接https://ic-openlabs.huawei.com/openlab/#/knowledgebasequery?task_id=R5S1584D0010661072020091718003038780003,在鲲鹏服务器安装gitlab11.10.4【操作步骤&问题现象】执行到构建步骤中,终端有以下报错(见截图信息)【截图信息】【日志信息】(可选,上传日志内容或者附件)
-
【鲲鹏】请问robox和kbox的区别是什么?github上面的kbox是空的,kbox是停止维护了吗?谢谢
-
YoloV3相关代码 3.1 python代码代码地址:https://github.com/ultralytics/Yolov33.2 C++代码这里推荐Yolov4作者的darknetAB代码,代码和原始作者代码相比,进行了很多的优化,如需要运行Yolov3网络,加载cfg时,使用Yolov3.cfg即可代码地址:https://github.com/AlexeyAB/darknet3.3 python版本的Tensorrt代码除了算法研究外,实际项目中还需要将算法落地部署到工程上使用,比如GPU服务器使用时还需要对模型进行tensorrt加速。(1)Tensort中的加速案例强烈推荐tensort软件中,自带的Yolov3加速案例,路径位于tensorrt解压文件夹的TensortX/samples/python/Yolov3_onnx中针对案例中的代码,如果有不明白的,也可参照下方文章上的详细说明:代码地址:https://www.cnblogs.com/shouhuxianjian/p/10550262.html(2)Github上的tensorrt加速除了tensorrt软件中的代码, github上也有其他作者的开源代码代码地址:https://github.com/lewes6369/TensorRT-Yolov33.4 C++版本的Tensorrt代码项目的工程部署上,如果使用C++版本进行Tensorrt加速,一方面可以参照Alexey的github代码,另一方面也可以参照下面其他作者的开源代码代码地址:https://github.com/wang-xinyu/tensorrtx/tree/master/Yolov3
-
这篇文章介绍了Git的分支管理策略,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下目录• 一、创建测试项目 • 1、新建GitHub仓库 • 2、将本地仓库项目上传到GitHub • 2.1、初始化本地仓库 • 2.2、把文件添加到暂存区 • 2.3、提交到本地仓库 • 2.4、关联远程GitHub仓库 • 2.5、将本地仓库推送到远程仓库 • 2.6、查看状态 • 二、管理分支 • 1、创建本地仓库新分支 • 2、查看新创建的分支是否成功 • 3、切换分支 • 4、查看当前分支 • 5、将创建的分支推送到远程仓库 • 6、修改文件 • 7、将修改后的文件提交到暂存区 • 8、提交到本地仓库 • 9、推送到远程仓库 • 10、查看文件状态 • 11、合并到master分支 一、创建测试项目1、新建GitHub仓库在GitHub上面新创建一个仓库,用来演示分支管理,如下图所示:点击“Create repository”按钮创建新仓库。2、将本地仓库项目上传到GitHub2.1、初始化本地仓库输入下面命令:1$ git init如下图所示:2.2、把文件添加到暂存区在新创建的本地仓库下面新建一个名为branchdemo.txt的文件,并添加到暂存区,先查看本地仓库文件状态,如下图所示:上图显示新创建的branchdemo.txt文件是未跟踪状态。需要使用git add命令添加到暂存区:2.3、提交到本地仓库将暂存区文件提交到本地仓库,命令:1$ git commit -m "commit file"如下面所示:2.4、关联远程GitHub仓库将本地仓库和远程GitHub的仓库进行关联:2.5、将本地仓库推送到远程仓库将本地项目推送到远程仓库:然后查看GitHub仓库,这时发现GitHub仓库已经有了本地项目:2.6、查看状态输入如下命令:1$ git status如下图所示:二、管理分支1、创建本地仓库新分支创建分支使用下面的命令:1$ git branch "新分支名称"例如:创建一个名为feature的分支,如下图所示:2、查看新创建的分支是否成功使用git branch命令查看所有的分支,如下图所示:可以看到新创建的分支已经成功,"*"号表示当前是在哪个分支。3、切换分支切换分支使用下面的命令:1$ git checkout "分支名称"如下图所示:4、查看当前分支如下图所示:从截图中可以看出:*号是在feature前面,表示现在是在feature分支了。5、将创建的分支推送到远程仓库新创建的本地分支需要推送到远程GitHub的仓库,使用下面的命令:1$ git push origin feature如下图所示:这时查看GitHub分支,会发现多了feature分支:6、修改文件修改branchdemo.txt文件。7、将修改后的文件提交到暂存区如下图所示:8、提交到本地仓库如下图所示:9、推送到远程仓库本地仓库修改后的内容需要推送到远程仓库,输入命令:1$ git push origin feature如下图所示:10、查看文件状态查看文件状态,检查文件是否提交成功,如下图所示:说明已经提交成功。11、合并到master分支合并分支之前先要切换到master分支,如下图所示:切换到master分支以后,在使用merge命令合并到master分支:将本地master分支推送到远程master分支:到此这篇关于Git分支管理策略的文章就介绍到这了。原文链接:https://www.cnblogs.com/dotnet261010/p/10803104.html
-
C++可以复制Github上开源项目的部分库文件到本地源文件中吗?希望通过这种方式使用一些工具方法。
-
近几年,GitHub 开发者数量逐年上升,仅过去一年 GitHub 的新增用户便有 1600 万人,总用户数更是达到了 7300 万——在开源浪潮席卷全球中,GitHub 无疑成为了许多开发者迈入开源的一个重要途径。Python 开发团队或许正是看中了这一点,才决定将 Python 开发基础设施逐步迁移至 GitHub。目前这项迁移工作已进行近 7 年,但最近卡在了“将 Python 的 Bug 迁移至 GitHub”这一步。一、技术&法律,两面受阻相信大多 Python 程序员应该有所了解:此前,如需进行 Bug 提交、跟踪、修复等操作,一般可前往 Python 官方 Bug 网站(https://bugs.python.org/,可简称为 BPO),而 BPO 所用的 Bug 跟踪器为开源工具 Roundup,即由 Roundup 存储 Bug 相关数据。为了顺利将 Python 的 Bug 迁移至 GitHub,上周 Python 核心开发者 Łukasz Langa 在 Python Discourse 论坛上宣布:Roundup 中的 Bug 数据将全部迁移至 GitHub 的 Python 存储库中,此后用户和核心开发者发现的新 Bug 统一在 GitHub Issue 中处理;同时为避免 BPO 中 URL 失效引发混乱,此后 BPO 将以只读模式继续存在,而当前 BPO 中存在的每个 Bug 都将链接其 Github 地址。“我们希望这将降低新贡献者的门槛,并提供更流畅的用户体验。”Łukasz Langa 解释道。理想很丰满,但现实却很难如意。Łukasz Langa 感慨:“不论在技术还是法律层面上,这都不是一件容易的事。”为此,他自一月份起,就一直与同为 Python 开发者的 Ezio Melotti 共同讨论如何推动本次迁移任务。二、复杂的迁移过程Łukasz Langa 将整个 Bug 迁移工作分为测试反馈阶段及正式迁移阶段:(1)以下为测试反馈阶段时间表:2022 年 2 月 18 日开始为期两周的公众反馈收集期。在此期间,开发者可前往 https://github.com/psf/gh-migration/issues/ 查看 Bug 迁移、测试执行等详细步骤并报告具体问题,还可前往 https://github.com/psf/gh-migration/issues 查看一些迁移 Bug 的示例。2022 年 3 月 4 日,在 Github 的帮助下,使用 10% 的 Bug 执行最终的端到端测试迁移,以此估算迁移所需时间及过程中可能会出现的问题。(2)如果反馈收集过程中没有发现任何问题,最终测试也成功实现,就开启正式迁移阶段:2022 年 3 月 10 日开始迁移。BPO 在欧洲中部时间晚上 9 点(太平洋标准时间下午 12 点)进入只读模式,BPO 中的数据将被导入 Github 上的临时存储库中(此过程预计需要 22 个小时)。2022 年 3 月 11 日,Github 开始将临时存储库中的 Bug 全部转移至 Python 库中。据 Łukasz Langa 预计,正式迁移大概需要花费 3-7 天的时间(具体取决于 Github 的负载),而 Bug 迁移期间,Python 程序员需要注意以下几点:不可在 Github 或 BPO 上创建新 Bug;可以在 Github 上创建新 PR 并与现有 PR 交互,这点不会被影响;可以与 Github 上已迁移的 Bug 进行交互,但尽量不要有破坏性操作(如修改 Bug 标题、编辑评论内容、删除评论、删除标签等),因为数据更改会使迁移团队无法确定迁移是否完全成功。Bug 数据迁移完成后,Python 官方会进行相关通知;但如果迁移无法在 7 天内完成,这项工作将中止并重新启用 BPO。除了以上技术方面的问题,本次迁移任务还牵扯到了部分法律纠纷,主要集中在“Python 软件基金会(PSF)是否可以在不征求用户同意下,将用户生成的内容及其潜在的个人身份信息(PII)从 BPO 移动到 GitHub”。关于这个问题,指导委员会和 PSF 律师确定,此次迁移不需要用户同意:“BPO 和 Github 都是面向公众的系统,用户主动将他们的信息(包括 PII)放在 BPO 系统中,BPO 将根据主动同意存储、公开访问等权限,按需分发这些信息。而我们将后端更改为 Github 并不会修改这些权限,迁移过程中也不会显示之前在 BPO 系统中不允许公开访问的任何新用户信息。”三、放弃 BPO 的理由在看过以上迁移流程后,或许会有人疑惑:既然迁移这样麻烦,继续用 BPO 不“香”吗?针对这类问题,Python 官方早在 2018 年创建的 PEP 581 提案中就明确回应了。该提案中,罗列出了一串 Roundup/BPO 中已知存在的问题:包括核心开发者在内,维护人员不到 5 人;没有可用的 CI(持续集成),现有维护人员的负担太大(需要审查、测试和应用补丁);隔绝了来自外界开发者的大量贡献;UI 需重新设计;易暴露用户的电子邮箱,还经常发垃圾邮件给用户;注册新账户过程繁琐…但这一切问题,可能在部分已习惯 BPO 的开发者眼中,“罪”还不至于被放弃的地步,甚至希望 BPO 维护人员可以就这些问题加以改进。不过,Python 官方坚持认为:“GitHub 中有很多我们喜欢的功能,并且我们相信,创建和维护 GitHub 集成及相关工作量,要远低于加速并维护 Roundup 所需的工作量。”最后,正如上文所提到的迁移流程,按计划自 3 月 10 日起 Bug 迁移将正式开始,届时相关开发者需注意迁移期间可能会带来的影响。原文链接:https://blog.csdn.net/m0_50065287/article/details/123126314
-
简介openGauss是开源关系型数据库,采用客户端/服务器,单进程多线程架构,支持单机和一主多备部署方式,备机可读,支持双机高可用和读扩展。本实验主要描述如何对openGauss开源数据库进行二次开发,并编译验证。内容描述本实验主要内容为在开源社区注册、拉取本地代码、对openGauss开源数据库进行简单修改体验二次开发,并安装数据库进行验证。前置条件由于本实验涉及到在openEuler操作系统上进行openGauss数据库的部署,需要掌握Linux系统的基本操作和系统命令。实验环境说明组网说明本实验环境需要本地Windows操作系统的PC以及openEuler操作系统的华为云环境,需要购买弹性云服务器。设备介绍为了满足实验需要,建议每套实验环境采用以下配置:开发环境的设备明细表设备名称设备型号操作系统Windows编译环境设备明细表设备名称设备型号操作系统openEuler20.3LTSPythonPython 3.7.X实验概览社区环境准备需要完成码云账号注册、绑定主邮箱以及签署CLA贡献者协议之后,才能参与社区贡献。注册码云账号步骤 1 登录码云官网(https://gitee.com/),单击页面右上角的“注册”按钮注册账号。步骤 2 在注册页面填写相关信息并勾选阅读并同意相关条款及规范,完成码云注册,如下图所示。必填信息如下:姓名:码云账号名称。个人空间地址:注册账号主页地址,可用作推拉代码或者登录Gitee的用户名。手机或者邮箱:验证需要。建议使用邮箱注册,默认为主邮箱,无需执行绑定主邮箱操作。密码:密码不少于6位。建议为字母、符号和数字的组合,以提升安全性。绑定主邮箱步骤 1 在“个人主页”页面,单击“设置”按钮进入“个人信息”设置页面。如下图所示。步骤 2 在左侧导航栏单击“邮箱管理”,修改或者绑定主邮箱。主邮箱默认为注册时使用的邮箱。如下图所示。签署CLA贡献者协议进入CLA签署页面(https://opengauss.org/en/cla.html)。选择“签署个人CLA(Sign Individual CLA)”,填写相关信息。单击签署,完成CLA签署。如图1-4所示。搭建开发环境搭建开发环境之前需要在码云(https://gitee.com/)上完成注册Gitee账号、签署CLA协议(贡献者许可协议),详情请参见1 社区环境准备。拉取个人分支步骤 1 进入开源社区网站的openGauss-server(代码)仓库。地址如下https://gitee.com/opengauss,单击openGauss-server,如下图所示。步骤 2 单击右上角“Forked”按钮,Fork(复刻)个人分支,如下图所示。步骤 3 进入开源社区网站的openGauss-OM(代码)仓库。地址如下https://gitee.com/opengauss/openGauss-OM?_from=gitee_search,单击右上角“Forked”按钮,Fork(复刻)个人分支。如下图所示:安装并配置Git环境安装Git环境下载Git客户端并按默认设置安装,Git下载地址:https://git-scm.com/download/win,根据操作系统位数(32位/64位),下载并安装相应的Git(命令行工具)。说明本章节中开发环境使用的是Windows 64位环境,请下载Winodws 64位版本的git工具。在Windows上下载完成后文件名为Git-2.31.1-64-bit.exe,双击此文件进行安装。配置Git环境步骤 1 打开运行窗口,并输入cmd,点击“回车”进入命令提示符界面。步骤 2 在cmd中配置全局Git用户名。git config --global user.name "Your Name""Your Name"为自己的Gitee账号名称,您可以在Gitee个人主页获取,如下图中xzp-blog。步骤 3在cmd中配置全局Git邮箱。git config --global user.email "email@example.com""email@example.com"为注册Gitee的主邮箱,可通过Gitee个人设置中的“邮箱管理”获取自己的主邮箱,如下图:步骤 4 在cmd中生成ssh公钥。通过自己Gitee的主邮箱生成ssh公钥。ssh-keygen -t rsa -C "email@example.com"步骤 5 查看公钥信息。在命令提示符中,使用type命令查看公钥信息,公钥路径示例如上图所示。type C:\Users\Administrator\.ssh\id_rsa.pub说明:.ssh/id_rsa.pub为公钥文件保存地址。id_rsa.pub为自定义的pub文件名称。步骤 6 在个人Gitee账户中添加您的SSH公钥。步骤 7 将远程仓库克隆至本地。先在本地电脑上创建openGauss-server文件夹,如在C盘下创建。然后在CDM命令行中,通过如下语句进入存放个人远程仓库的本地目录。cd C:\openGauss-server从个人远程仓库地址下载数据库源码至本地工作目录。git clone https://gitee.com/Your Name/openGauss-server.git Your Name为自己配置的全局Git用户名,请根据实际替换。步骤 8 设置本地工作目录的upstream源。cd C:\openGauss-server\openGauss-server ---#先进入相应目录 git remote add upstream https://gitee.com/opengauss/openGauss-server.git ---#openGauss远程地址步骤 9 设置同步方式。git remote set-url --push upstream no_push安装开发工具openGauss内核开发以C/C++语言为主,本节以安装VScode(Visual studio code)工具为例进行介绍。如本地PC已安装有开发工具,可跳过本节。步骤 1下载VScode软件。登录https://code.visualstudio.com/downloadg下载软件如图2-4所示。请根据操作系统选择相应的版本,本节以64位Windows操作系统为例。步骤 2 单击完成下载的软件执行安装。选择“我同意此协议”后单击“下一步”。步骤 3 确认安装位置后单击“下一步”。步骤 4 配置环境变量。选中“添加到PATH(重启后生效)”复选框,勾选此选项后可不再配置环境变量直接使用。步骤 5 单击“完成”,结束安装。步骤 6安装openGauss所需的开发语言c/c++。二次开发(以实现gauss_hello函数为例)本章作为演示,为openGauss数据库新增一个系统函数gauss_hello(name),该函数能返回格式为“Hello,”的提示信息,如下图:将个人远程仓库内容更新至本地步骤 1 将主仓库的内容更新至个人远程仓库(可选)。如果非首次修改本地文件,建议您执行如下操作,使远程仓库与本地仓库保持一致。在开源社区网站的个人仓库页面,单击如下图标将主仓库的内容更新至个人远程仓库。如下图所示:步骤 2 在本地Git工具执行如下命令,将个人远程仓库内容更新至本地仓库。git fetch upstream git merge upstream/master修改本地文件以实现gauss_hello函数为例,需执行如下步骤。步骤 1 使用vscode导入数据库本地文件夹单击 文件 然后选择 打开文件夹。选择 openGauss-server 文件夹。导入成功。步骤 2 加入gauss_hello函数实现。修改本地文件src/common/backend/utils/adt/varlena.cpp,在文件末尾加入如下代码:Datum gauss_hello(PG_FUNCTION_ARGS) { text *hello = cstring_to_text("Hello, "); text *name = PG_GETARG_TEXT_PP(0); text *message = text_catenate(hello, name); PG_RETURN_TEXT_P(message); }添加完成后点击保存,确认修改已经保存。步骤 3 加入gauss_hello函数声明。修改本地文件src/include/utils/builtins.h,在文件末尾“#endif”前加入如下代码:extern Datum gauss_hello(PG_FUNCTION_ARGS);步骤 4 将gauss_hello函数注册到系统表。修改本地文件src/common/backend/catalog/builtin_funcs.ini,在文件中按照函数名排序将如下代码加入合适位置:AddFuncGroup( "gauss_hello", 1, AddBuiltinFunc(_0(GAUSSHELLOFUNCOID), _1("gauss_hello"), _2(1), _3(true), _4(false), _5(gauss_hello), _6(25), _7(PG_CATALOG_NAMESPACE), _8(BOOTSTRAP_SUPERUSERID), _9(INTERNALlanguageId), _10(1), _11(0), _12(0), _13(0), _14(false), _15(false), _16(false), _17(false), _18('i'), _19(0), _20(1, 25), _21(NULL), _22(NULL), _23(NULL), _24(NULL), _25("gauss_hello"), _26(NULL), _27(NULL), _28(NULL), _29(0), _30(false), _31(NULL), _32(false), _33(NULL), _34('f')) ),添加完成后点击保存,确认修改已经保存。步骤 5 声明常量GAUSSHELLOFUNCOID。修改本地文件src/include/catalog/pg_proc.h,文件末尾“#endif”前加入如下代码,声明常量GAUSSHELLOFUNCOID,该常量将步骤3中的代码引用,作为gauss_hello函数在系统表中注册时所使用的oid,如下代码以oid为9981为例:#define GAUSSHELLOFUNCOID 9981添加完成后点击保存,确认修改已经保存。注意:GAUSSHELLOFUNCOID常量须定义为一个尚未被其他函数占用的整数,否则数据库初始化时会因无法为oid建立唯一索引而初始化失败。提交本地修改到个人远程仓库在cmd中先进入修改文件所在的文件夹目录,在目录下打开Git工具,然后在Git工具中执行如下命令,将本地修改提交至个人远程仓库。cd C:\openGauss-server\openGauss-server git add . git commit -m "20210321" ----#提交原因 git push origin master
上滑加载中
推荐直播
-
华为云AI入门课:AI发展趋势与华为愿景
2024/11/18 周一 18:20-20:20
Alex 华为云学堂技术讲师
本期直播旨在帮助开发者熟悉理解AI技术概念,AI发展趋势,AI实用化前景,了解熟悉未来主要技术栈,当前发展瓶颈等行业化知识。帮助开发者在AI领域快速构建知识体系,构建职业竞争力。
去报名 -
华为云软件开发生产线(CodeArts)10月新特性解读
2024/11/19 周二 19:00-20:00
苏柏亚培 华为云高级产品经理
不知道产品的最新特性?没法和产品团队建立直接的沟通?本期直播产品经理将为您解读华为云软件开发生产线10月发布的新特性,并在直播过程中为您答疑解惑。
去报名
热门标签