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

解决Tank and Temple在线测试上传点云过慢的问题

解决Tank and Temple在线测试上传点云过慢的问题

tnt数据集作为mvs的一个标准数据集,进行测试时必须先将本地跑出来的点云用官方的脚本上传到tnt服务器,这一过程速度有时一言难尽,下面给出一个可能的提速办法。

查询最快的ip地址

登录下面的网站:https://tool.chinaz.com/speedtest/t2-website-userdata.storage.googleapis.com 看看哪个ip连接速度最快
在这里插入图片描述
找一个你心水的ip地址,记下来,比如我找的是142.250.73.91

修改hosts

sudo vim /etc/hosts

之后将你上面找的ip和t2-website-userdata.storage.googleapis.com写入hosts文件中
在这里插入图片描述
之后:wq保存退出即可。

至此,理论上上传的速度就能提高了,当然也不排除这个ip地址虽然在网页上显示很快,但上传依然失败的情况,这种情况下需要换一个ip再试试。

(可选)优化一下上传脚本

自带的上传脚本不显示进度,可以稍微优化一下。

将脚本的def submit_file(filename, credentials_upload)函数替换为下面的内容:


import requests
import socket
from requests_toolbelt import MultipartEncoder, MultipartEncoderMonitor
import os
import sysdef submit_file(filename, credentials_upload):# 读取凭证文件with open(credentials_upload) as f:content = f.readlines()credential_content = [x.strip() for x in content]signature_dict = {}policy_dict = {}for signatureline in credential_content[0:-1]:signaturelinecontent = signatureline.split('###')signature_dict[signaturelinecontent[2]] = signaturelinecontent[1]policy_dict[signaturelinecontent[2]] = signaturelinecontent[0]access_str = credential_content[-1]access_info = access_str.split('###')fsignature = signature_dict[filename]fpolicy = policy_dict[filename]gcs_filename = access_info[1] + filenameclient_id_email = access_info[2]expiration = access_info[3]gs_acl = 'bucket-owner-read'bucket_name = 't2-website-userdata'policy = {'key': gcs_filename,'bucket': bucket_name,'acl': gs_acl,'GoogleAccessId': client_id_email,'policy': fpolicy,'signature': fsignature}# URL 与 IP 解析url = f"http://{bucket_name}.storage.googleapis.com"hostname = f"{bucket_name}.storage.googleapis.com"resolved_ip = socket.gethostbyname(hostname)print(f"Resolved IP for {hostname}: {resolved_ip}")# 上传进度回调def progress_callback(monitor):percent = (monitor.bytes_read / monitor.len) * 100sys.stdout.write(f"\rUpload progress: {percent:.2f}%")sys.stdout.flush()# 构造上传体并绑定进度回调encoder = MultipartEncoder(fields={**policy, 'file': (filename, open(filename, 'rb'))})monitor = MultipartEncoderMonitor(encoder, progress_callback)headers = {'Content-Type': monitor.content_type}print(f"\nStart uploading {filename} ...")session = requests.Session()r = session.post(url, data=monitor, headers=headers)print("\nUpload finished.")print(f"Response status code: {r.status_code}")if r.status_code != 204:print("Upload failed:", r.text)else:print("Upload succeeded.")return r

这样就可以在上传的时候显示解析的ip和上传的进度了。
在这里插入图片描述
整体速度还是可以接受的。
在这里插入图片描述

http://www.dtcms.com/a/596960.html

相关文章:

  • Failed to download metadata for repo ‘openresty‘ for Alibaba Cloud Linux 3
  • DSM7.2部署可道云+onlyoffice在线办公系统
  • 博客做网站公司网站建设的现状
  • Linux内核驱动开发实战 --从零构建字符设备驱动
  • 400 badRequest
  • 电商购物网站模板下载迅速编程做网站
  • 长期主义
  • 【复习408】TCP运输层核心机制
  • 苏州企业建设网站公司一个wordpress的爱好者
  • Sora 2深度解析:OpenAI如何通过“数字替身”重新定义AI视频创作
  • 36.循环定时器实现
  • 网站建设在哪个会计科目核算百度医院网站建设
  • Python学习历程——Python面向对象编程详解
  • 0.SAP契约锁业务需求
  • 【ZeroRange WebRTC】HTTPS 与 WSS 在 WebRTC 场景中的应用
  • 12.【Linux系统编程】动静态库制作与使用
  • 快速seo整站优化排行网站外部链接
  • 认识设计模式——单例模式
  • OCP(Over-Current Protection)是什么?
  • wordpress门户网站模板东莞 网站建设多少钱
  • 【论文阅读】PEARL A dual-layer graph learning for multimodal recommendation
  • 《反电信网络诈骗法》“金融篇”
  • 【Qt开发】布局管理器(五)-> QSpacerItem 控件
  • 创邻科技“知寰 Hybrid RAG”强势落地复杂业务场景:GraphRAG产品引领公安与金融智能决策新范式
  • 零基础也能搭博客?
  • Electron 颜色拾取器开发实战适配鸿蒙
  • 电影网站建设需求分析百度高级搜索页面
  • 猫眼网站建设大连seo建站公司
  • 基于微信小程序的丽江市旅游分享平台
  • 哪些网站做任务可以赚钱红谷滩园林建设集团有限公司 网站