Code Monkey home page Code Monkey logo

Comments (13)

YihangChen-ee avatar YihangChen-ee commented on August 19, 2024 2

模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件)
point_cloud.ply是原始的模型参数,并不是编码后的文件。
训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。
你应该查看./bitstreams文件夹的大小。

from hac.

TSlus avatar TSlus commented on August 19, 2024 1

你好,编码和解码函数分别在gaussian_model.py的第1074和1228行,他们在train.py里在最后一个训练iteration的时候被调用了(train.py的第299-308行)。此时你所提到的save_ply函数里所save的point_cloud.ply其实已经是解码过后的了。

在conduct_decoding函数中有将原始的变量替换为解码后的变量的过程(1339行 -1366行)。

明白了,谢谢你。

from hac.

yang1hu avatar yang1hu commented on August 19, 2024

模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件) point_cloud.ply是原始的模型参数,并不是编码后的文件。 训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。 你应该查看./bitstreams文件夹的大小。

你好,我也有这个疑问,你的意思是说我们的项目是在根据得到的ply文件,然后压缩获取算法变成一个./bitstreams文件夹中的文件吗,这个文件夹的信息,是压缩点的信息,并不是把点的信息变少,对吗

from hac.

YihangChen-ee avatar YihangChen-ee commented on August 19, 2024

你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。

from hac.

yang1hu avatar yang1hu commented on August 19, 2024

你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。

好的,谢谢

from hac.

Ataraxiaecho avatar Ataraxiaecho commented on August 19, 2024

为什么out.log里的anchor大小比bitstream里的anchor.pkl小了一倍
image
image

from hac.

Ataraxiaecho avatar Ataraxiaecho commented on August 19, 2024

你好,点的位数没变,但是其信息熵通过我们的hash feature的预测降低了。信息熵降低后才可以利用算术编码实现编码压缩。

你好。方便解答一下我上面提的关于anchor文件大小的问题吗?谢谢

from hac.

YihangChen-ee avatar YihangChen-ee commented on August 19, 2024

你好,我们的工作对anchor采用16位的量化方式,那么在计算anchor的size的时候每个参数的size是16bit。在实际存储时为了方便,是16位量化后直接用torch保存的,这时候默认的保存格式是float32,但是实际上已经16位量化过了。因此出现了两倍的情况。你可以修改保存相关的代码,让pytorch保存为float16,这时候应该就是大小一致的。

祝好

from hac.

Ataraxiaecho avatar Ataraxiaecho commented on August 19, 2024

你好,我们的工作对anchor采用16位的量化方式,那么在计算anchor的size的时候每个参数的size是16bit。在实际存储时为了方便,是16位量化后直接用torch保存的,这时候默认的保存格式是float32,但是实际上已经16位量化过了。因此出现了两倍的情况。你可以修改保存相关的代码,让pytorch保存为float16,这时候应该就是大小一致的。

祝好

好的。谢谢哥们。

from hac.

TSlus avatar TSlus commented on August 19, 2024

模型参数需要进行编码后再存储,编码后的文件在./bitstreams文件夹中。(也就是那些.b文件) point_cloud.ply是原始的模型参数,并不是编码后的文件。 训练完后,你可以删去point_cloud.ply,因为模型参数都已经被编码存储在./bitstreams文件夹中了。 你应该查看./bitstreams文件夹的大小。

你好,直接删去point_cloud.ply后,在测试的时候,会报错找不到point_cloud.ply文件,请问该怎么解决这个错误呢?

from hac.

YihangChen-ee avatar YihangChen-ee commented on August 19, 2024

你好,目前的代码逻辑是从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.

TSlus avatar TSlus commented on August 19, 2024

你好,目前的代码逻辑是从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.

YihangChen-ee avatar YihangChen-ee commented on August 19, 2024

你好,编码和解码函数分别在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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.