Comments (13)
模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件)
point_cloud.ply是原始的模型参数,并不是编码后的文件。
训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。
你应该查看./bitstreams文件夹的大小。
from hac.
你好,编码和解码函数分别在gaussian_model.py的第1074和1228行,他们在train.py里在最后一个训练iteration的时候被调用了(train.py的第299-308行)。此时你所提到的save_ply函数里所save的point_cloud.ply其实已经是解码过后的了。
在conduct_decoding函数中有将原始的变量替换为解码后的变量的过程(1339行 -1366行)。
明白了,谢谢你。
from hac.
模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件) point_cloud.ply是原始的模型参数,并不是编码后的文件。 训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。 你应该查看./bitstreams文件夹的大小。
你好,我也有这个疑问,你的意思是说我们的项目是在根据得到的ply文件,然后压缩获取算法变成一个./bitstreams文件夹中的文件吗,这个文件夹的信息,是压缩点的信息,并不是把点的信息变少,对吗
from hac.
你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。
from hac.
你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。
好的,谢谢
from hac.
为什么out.log里的anchor大小比bitstream里的anchor.pkl小了一倍
from hac.
你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。
你好。方便解答一下我上面提的关于anchor文件大小的问题吗?谢谢
from hac.
你好,我们的工作对anchor采用16位的量化方式,那么在计算anchor的size的时候每个参数的size是16bit。在实际存储时为了方便,是16位量化后直接用torch保存的,这时候默认的保存格式是float32,但是实际上已经16位量化过了。因此出现了两倍的情况。你可以修改保存相关的代码,让pytorch保存为float16,这时候应该就是大小一致的。
祝好
from hac.
你好,我们的工作对anchor采用16位的量化方式,那么在计算anchor的size的时候每个参数的size是16bit。在实际存储时为了方便,是16位量化后直接用torch保存的,这时候默认的保存格式是float32,但是实际上已经16位量化过了。因此出现了两倍的情况。你可以修改保存相关的代码,让pytorch保存为float16,这时候应该就是大小一致的。
祝好
好的。谢谢哥们。
from hac.
模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件) point_cloud.ply是原始的模型参数,并不是编码后的文件。 训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。 你应该查看./bitstreams文件夹的大小。
你好,直接删去point_cloud.ply后,在测试的时候,会报错找不到point_cloud.ply文件,请问该怎么解决这个错误呢?
from hac.
你好,目前的代码逻辑是从bitstream中解码得到point_cloud.ply,然后模型权重仍然读取此point_cloud.ply来测试(相当于point_cloud.ply是一个桥梁)。因此如果你删去了point_cloud.ply,你需要重新跑解码函数从bitstream中重新解码得到point_cloud.ply后再进行测试。
或者你可以修改代码,让模型直接从bitstream的解码结果里读取权重,这样就不需要point_cloud.ply这个中间文件了。
BTW,你应该把删去point_cloud.ply的操作放在编码后且解码前的位置,而不是放在解码后的位置,因为point_cloud.ply是解码结果。
祝好
from hac.
你好,目前的代码逻辑是从bitstream中解码得到point_cloud.ply,然后模型权重仍然读取此point_cloud.ply来测试(相当于point_cloud.ply是一个桥梁)。因此如果你删去了point_cloud.ply,你需要重新跑解码函数从bitstream中重新解码得到point_cloud.ply后再进行测试。
或者你可以修改代码,让模型直接从bitstream的解码结果里读取权重,这样就不需要point_cloud.ply这个中间文件了。
BTW,你应该把删去point_cloud.ply的操作放在编码后且解码前的位置,而不是放在解码后的位置,因为point_cloud.ply是解码结果。
祝好
谢谢你的解答,按照你上面的逻辑应该可以。但是我发现在保存point_cloud.ply文件的时候(gaussian_model.py line 634 save_ply函数),好像是直接从优化变量中读取,并没有涉及从bitstream解码得到,这是为什么呢?
from hac.
你好,编码和解码函数分别在gaussian_model.py的第1074和1228行,他们在train.py里在最后一个训练iteration的时候被调用了(train.py的第299-308行)。此时你所提到的save_ply函数里所save的point_cloud.ply其实已经是解码过后的了。
在conduct_decoding函数中有将原始的变量替换为解码后的变量的过程(1339行 -1366行)。
from hac.
Related Issues (13)
- I have encountered a fatal error HOT 12
- 如何预览编码后的模型? HOT 2
- Test testing accuracy gap HOT 4
- ModuleNotFoundError: No module named '_gridencoder' HOT 3
- Question of viewer HOT 8
- colab notebook request for inference with custom images
- Undesirable results when using large datasets HOT 2
- CUDA out of memory during rendering process HOT 2
- Distribution of Anchor Attributes
- Problem of Evaluation HOT 3
- Building wheel for gridencoder (setup.py) ... error HOT 1
- if you have tested the changes in the use of VRAM for graphics card rendering before and after compression? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hac.