- 0.0我自己的复现工程
- 0.1相关库介绍
- 0.1.1 pytorch
- 0.1.2 h5py
- 0.1.3 Scikit-Image
- 0.1.4 imageio
- 0.1.5 scipy
- 0.1.6 Matplotlib
- 0.1.7 fonttools
- 0.2.复现简介
- 0.2.1安装库步骤
- 0.2.2 仓库内容
- 0.3.参考链接
0.0我自己的复现工程
代码和安装包下载地址:https://gitcode.net/qq_35789421/point-nerf。所需库的安装包在package文件夹下,代码在code文件夹下,测试数据在data文件下:离线安装直接用pip install xxx.whl,terminal下安装直接pip install xxx就行
安装包 | 作用 |
---|---|
torch-1.8.1+cu102-cp38-cp38-win_amd64.whl(离线安装) | 深度学习训练 |
h5py-3.11.0-cp38-cp38-win_amd64.whl (离线安装) | 内存大数据处理 |
scikit-image-0.15.0.tar.gz (离线安装) | 图像处理 |
imageio-2.34.0-py3-none-any.whl (离线安装) | 图像读写与存储 |
scipy-1.10.1-cp38-cp38-win_amd64.whl (离线安装) | 数值分析处理 |
matplotlib-3.7.5-cp38-cp38-win_amd64.whl(离线安装) | 数据可视化 |
fonttools-4.51.0-cp38-cp38-win_amd64.whl(离线安装) | 字体设置 |
在下载之前最好使用
git config http.postBuffer 524288000
修改一下git的块缓冲内存,否则可能出现RPC failed的报错(离线安装包有点大)
0.1相关库介绍
0.1.1 pytorch
Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程。Torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。
pytorch相对于tensorflow出现的较晚一些,主要是针对深度神经网络而开发出来,这几年发展也是十分不错;tensorflow出现的较早,它的优点是分布式计算,在面临较大数据时相对效率较高;
pytorch是动态框架,tensorflow是静态框架,主要区别就是静态框架在构建计算图的时候提前构建好,之后则无法改变,固定了计算的流程,势必带来了不灵活性,如果我们要改变计算的逻辑,或者随着时间变化的计算逻辑,这样的动态计算TensorFlow是实现不了的;而动态框架可以根据具体计算情况进行改变
tensorflow的库相对完备齐全,而pytorch还在完善中;所以tensorflow在可视化方面十分出色;
pytorch对python十分友好,更加python化的框架,而tensorflow的话更加像独立的语言和框架
0.1.2 h5py
使用h5py库读写超过内存的大数据 。在简单数据的读操作中,我们通常一次性把数据全部读入到内存中。读写超过内存的大数据时,有别于简单数据的读写操作,受限于内存大小,通常需要指定位置、指定区域读写操作,避免无关数据的读写。 h5py库刚好可以实现这一功能。
h5py的优势:速度快、压缩效率高,总之,numpy.savez和cPickle存储work或不work的都可以试一试h5py!h5py文件是存放两类对象的容器,数据集(dataset)和组(group),dataset类似数组类的数据集合,和numpy的数组差不多。group是像文件夹一样的容器,它好比python中的字典,有键(key)和值(value)。group中可以存放dataset或者其他的group。”键”就是组成员的名称,”值”就是组成员对象本身(组或者数据集)
0.1.3 Scikit-Image
Scikit-Image(skimage)是一个用于图像处理的Python库,提供了丰富的算法和工具,用于图像滤波、形态学处理、颜色转换、边缘检测、图像分割等。它的设计理念是简洁、易用和功能强大,适合快速开发和实验。
0.1.4 imageio
imageio是一个Python库,它提供了一个简单的接口来读取和写入大量的图像数据,包括动画图像、体积数据和科学格式。它是跨平台的,运行在Python 2 .x和3。x上,并且易于安装。imageio.imread() 从指定的文件读取图像。返回一个NUMPY数组,该数组带有元数据的元属性。注意,图像数据按原样返回,并且可能不总是具有uTI8的dType(因此可能不同于例如PIL返回)。
0.1.5 scipy
Scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。Scipy 由不同科学计算领域的子模块组成:
0.1.6 Matplotlib
Matplotlib是一个Python中广泛使用的绘图库,可以用于创建各种类型的静态、动态或交互式图表和可视化。它提供了一系列函数和工具,使得用户可以很方便地对数据进行处理和分析,并将其以图形化的方式呈现出来。
0.1.7 fonttools
FontTools 是一个开源的Python库,专为字体设计和排版专业人士打造,用于处理各种字体文件格式。这个项目由Adobe、Mozilla以及其他贡献者共同维护,其强大的功能和灵活的API使得它在字体工程领域中独树一帜。
0.2.复现简介
首先我是在windows 10下的pycharm编译器环境下进行复现的,选择了conda虚拟环境下复现,python版本为3.8。源代码链接是参考的https://github.com/zswang666/PnP-Depth
0.2.1安装库步骤
①pip install torch-1.8.1+cu102-cp38-cp38-win_amd64.whl
②pip install h5py-3.11.0-cp38-cp38-win_amd64.whl
③pip install scipy-1.10.1-cp38-cp38-win_amd64.whl
④pip install matplotlib-3.7.5-cp38-cp38-win_amd64.whl
④<1>pip install fonttools-4.51.0-cp38-cp38-win_amd64.whl(补充下载)
④<2>pip install pillow-10.3.0-cp38-cp38-win_amd64.whl(补充下载)
0.2.2 仓库内容
- package
—|torch-1.8.1+cu102-cp38-cp38-win_amd64.whl
|h5py-3.11.0-cp38-cp38-win_amd64.whl
|scipy-1.10.1-cp38-cp38-win_amd64.whl
|matplotlib-3.7.5-cp38-cp38-win_amd64.whl
|scikit-image-0.15.0.tar.gz
|matplotlib-3.7.5-cp38-cp38-win_amd64.whl
| fonttools-4.51.0-cp38-cp38-win_amd64.whl - code
—|
- data
—|
0.3.参考链接
1.【论文精读】Point-NeRF:Point-based Neural Radiance Fields
2.Point-NeRF 可以被有效渲染,训练速度提升30倍
3.Point-NeRF: Point-based Neural Radiance Fields论文翻译笔记
4.论文阅读笔记—CVPR2022—Point-NeRF
5.NeRF神经辐射场学习笔记(三)——Point-NeRF论文解读
6.论文随记|Point-NeRF: Point-based Neural Radiance Fields
7.复现point-nerf踩坑记录(可以运行测试)