Python库 dgl_cu90-whl文件解压使用指南

版权申诉
0 下载量 170 浏览量 更新于2024-11-08 收藏 19.53MB ZIP 举报
资源摘要信息:"Python库 | dgl_cu90-0.6a201130-cp36-cp36m-manylinux1_x86_64.whl" 1. Python库概述 Python是一种广泛使用的高级编程语言,以其简洁明了的语法和强大的功能而闻名。Python库是预先编写好的代码模块,可以帮助开发者快速实现特定功能,而无需从零开始编写所有代码。这些库通常包含了预打包好的函数、类和工具,可以简化编程过程并加速开发。 2. dgl库介绍 dgl库指的是Deep Graph Library(深度图库),这是一个开源库,专门用于图神经网络(GNNs)的研究与应用。它支持快速、易于使用的API来实现图的构建、操作以及图形神经网络的开发和训练。dgl库尤其适合处理图结构数据,这种数据结构是人工智能领域(如社交网络分析、生物信息学和推荐系统等)常见的数据形式。 3. 文件格式说明 文件名 "dgl_cu90-0.6a201130-cp36-cp36m-manylinux1_x86_64.whl" 表示这是一个Python wheel格式的安装包。Wheel格式是一种Python分发格式,它包含了预编译的Python扩展模块,可以在不重新编译源代码的情况下安装Python包。文件中的后缀部分 "cp36-cp36m-manylinux1_x86_64" 描述了该wheel包的兼容性信息,即它是为Python 3.6版本的CPython解释器以及对应版本的多平台(manylinux1)64位Linux系统(x86_64架构)设计的。 4. 文件命名解释 - "dgl": 表示Deep Graph Library的简称。 - "cu90": 暗示了该库可能与NVIDIA CUDA版本9.0兼容,CUDA是NVIDIA的并行计算平台和编程模型,广泛用于图形处理和通用计算。 - "0.6a201130": 指的是该库的版本号,"0.6a" 表示版本0.6的alpha(测试版)版本,"201130" 可能表示构建或发布的日期(2020年11月30日)。 - "cp36": 表明该库兼容于CPython版本3.6。 - "cp36m": 表示该库针对CPython版本3.6的多线程版本,"m"代表多线程。 - "manylinux1": 是一个预定义的平台标签,表示编译的二进制轮子(binary wheel)兼容多个Linux发行版。 - "x86_64": 是64位架构,表示该库支持x86_64指令集的处理器。 5. 安装和使用方法 由于该文件是一个wheel格式的压缩包,因此可以直接使用pip工具进行安装。具体安装步骤如下: 1) 首先需要确保有pip工具,pip是Python的包管理工具,大多数Python安装包中已经包含了pip。如果未安装,可以从Python官方网站下载并安装。 2) 打开命令行工具(在Windows中为cmd,Mac和Linux中为Terminal)。 3) 使用cd命令进入到包含该wheel文件的目录。 4) 执行以下pip命令来安装库: ```shell pip install dgl_cu90-0.6a201130-cp36-cp36m-manylinux1_x86_64.whl ``` 安装完成后,开发者可以在Python代码中通过import语句导入并使用dgl库进行图神经网络的开发工作。 6. 注意事项 - 安装此库前需要确保系统支持CUDA 9.0(如果包含CUDA组件)。 - 如果系统中未安装兼容的NVIDIA驱动,可能需要进行额外的驱动安装。 - 请确保系统满足wheel包所指定的Python版本和平台要求,否则安装可能会失败。 - 如果开发者正在使用的是不支持CUDA的平台,应该寻找不含CUDA特性的dgl库版本进行安装。 综上所述,"dgl_cu90-0.6a201130-cp36-cp36m-manylinux1_x86_64.whl"文件是专门为特定Python版本和平台设计的Deep Graph Library库安装包,它适用于图神经网络的开发和研究。开发者在满足相关依赖条件后,可以使用pip工具轻松安装并开始使用该库进行图计算相关的工作。

使用QTimer对象代替QBasicTimer对象,修改程序class MyWindow(QWidget): def init(self): super().init() self.thread_list = [] self.color_photo_dir = os.path.join(os.getcwd(), "color_photos") self.depth_photo_dir = os.path.join(os.getcwd(), "depth_photos") self.image_thread = None self.saved_color_photos = 0 # 定义 saved_color_photos 属性 self.saved_depth_photos = 0 # 定义 saved_depth_photos 属性 self.init_ui() def init_ui(self): self.ui = uic.loadUi("C:/Users/wyt/Desktop/D405界面/intelrealsense1.ui") self.open_btn = self.ui.pushButton self.color_image_chose_btn = self.ui.pushButton_3 self.depth_image_chose_btn = self.ui.pushButton_4 self.open_btn.clicked.connect(self.open) self.color_image_chose_btn.clicked.connect(lambda: self.chose_dir(self.ui.lineEdit, "color")) self.depth_image_chose_btn.clicked.connect(lambda: self.chose_dir(self.ui.lineEdit_2, "depth")) def open(self): self.profile = self.pipeline.start(self.config) self.is_camera_opened = True self.label.setText('相机已打开') self.label.setStyleSheet('color:green') self.open_btn.setEnabled(False) self.close_btn.setEnabled(True) self.image_thread = ImageThread(self.pipeline, self.color_label, self.depth_label, self.interval, self.color_photo_dir, self.depth_photo_dir, self._dgl) self.image_thread.saved_color_photos_signal.connect(self.update_saved_color_photos_label) self.image_thread.saved_depth_photos_signal.connect(self.update_saved_depth_photos_label) self.image_thread.start() def chose_dir(self, line_edit, button_type): my_thread = MyThread(line_edit, button_type) my_thread.finished_signal.connect(self.update_line_edit) self.thread_list.append(my_thread) my_thread.start()

2023-05-26 上传
2023-05-27 上传

程序提示AttributeError: 'ImageThread' object has no attribute '_dgl',优化程序 def __init__(self, pipeline, color_label, depth_label, interval, color_photo_dir, depth_photo_dir): super().__init__() self.pipeline = pipeline self.color_label = color_label self.depth_label = depth_label self.is_running = True self.interval = interval self.color_photo_dir = color_photo_dir self.depth_photo_dir = depth_photo_dir self.saved_color_photos = 0 self.saved_depth_photos = 0 def save_photo(self, color_image, depth_image): # 保存彩色图和深度图 filename = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S-{}.bmp".format(self.saved_color_photos)) color_image.save(os.path.join(self.color_photo_dir, filename), "BMP") depth_image.save(os.path.join(self.depth_photo_dir, filename), "BMP") # print(self.color_photo_dir) # 更新已保存照片数量标签 self.saved_color_photos += 1 self.saved_depth_photos += 1 self.saved_color_photos_signal.emit(self.saved_color_photos) self.saved_depth_photos_signal.emit(self.saved_depth_photos) def run(self): ROT = 3 while self.is_running: # 从相机获取彩色图和深度图 frames = self.pipeline.wait_for_frames() color_frame = frames.get_color_frame() depth_frame = frames.get_depth_frame() depth_image = np.asanyarray(depth_frame.get_data()) color_image = np.asanyarray(color_frame.get_data()) # 转换成 Qt 图像格式 depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET) # 将深度图像转换为伪彩色图像 color_image = QImage(color_image, color_image.shape[1], color_image.shape[0], color_image.shape[1] * 3, QImage.Format_RGB888) depth_colormap = QImage(depth_colormap, depth_colormap.shape[1], depth_colormap.shape[0], depth_colormap.shape[1] * 3, QImage.Format_RGB888) # 显示图像 self.color_label.setPixmap(QPixmap.fromImage(color_image)) self.depth_label.setPixmap(QPixmap.fromImage(depth_colormap)) v = self._dgl.qpin(ROT) if len(v) > 0: self._count += sum(v) if self._count > self._inspect_step: self.save_photo(color_image, depth_colormap) self._count -= self._inspect_step

2023-05-26 上传