-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请教:关于建立数据库。 #7
Comments
您好。提取CU分割信息,最核心部分在 HM-16.5_Extract_Data/source/Lib/TLibEncoder/TEncSlice.cpp,第880~888行:
这段程序是在标准HM编码器的一个循环体中新增的,每编码完一个CTU,就执行一次。当一个CTU编码完成后,可以通过 pCtu->getDepth()函数,获得每个4×4像素块的CU深度。CTU尺寸为64×64,所以这个函数总共可以访问(64/4)×(64/4)=256个位置。但因为每个16×16像素块中,CU深度都相同,提取信息时只需访问 pCtu->getDepth() 的一部分位置,就可以推测出整个CTU所有位置的CU深度。其中,y和x代表每个16×16像素块在此CTU中的行、列序号,yIn16和xIn16代表每个16×16像素块在整个帧中的行、列序号。最终,所有16×16像素块的CU深度,都存储在新增的数组 piCUDepthList[]中,以便之后的程序将其保存成文件。 |
问一个小问题:可以用什么工具打开提取的数据集呢? 想看看有没有错误 |
请问一下从小样本换成全部样本训练时,需要注意input_data.py和train_CNN_CTU64.py中哪里的修改,训练报错在images=data [:, 0:4096].astype(np.float32),MemoryError: Unabale to allocate 1.22Gib for an array with shape (80000,4096)and data type float32 |
images=data [:, 0:4096].astype(np.float32),MemoryError: Unabale to allocate 1.22Gib for an array with shape (80000,4096)and data type float32您好,看问题描述应该是内存不足,可以再确认下报错之前内存是否接近全满。 另外,也可以修改train_CNN_CTU64.py: |
好的,了解了,谢谢谢谢!真的非常感谢!有问题再向您请教
…------------------ 原始邮件 ------------------
发件人: "tianyili2017/HEVC-Complexity-Reduction" <[email protected]>;
发送时间: 2021年1月4日(星期一) 下午2:56
收件人: "tianyili2017/HEVC-Complexity-Reduction"<[email protected]>;
抄送: ""<[email protected]>;"Comment"<[email protected]>;
主题: Re: [tianyili2017/HEVC-Complexity-Reduction] 请教:关于建立数据库。 (#7)
images=data [:, 0:4096].astype(np.float32),MemoryError: Unabale to allocate 1.22Gib for an array with shape (80000,4096)and data type float32
您好,看问题描述应该是内存不足,可以再确认下报错之前内存是否接近全满。
如果是这样,可以在input_data.py里修改:
TRAINSET_READSIZE = 80000
VALIDSET_READSIZE = 60000
TESTSET_READSIZE = 60000
这三行代表每次往内存里读入训练集、验证集和测试集的多少个样本,作为缓存。适当改小这三个变量,可以减小内存占用。
作为补偿,可以适当减小 train_CNN_CTU64.py 里的 ITER_TIMES_PER_CHANGE_TRAINSET = 2000,比如改为1000或者500,即增加训练集数据轮换的频率,防止总用同一批数据训练、多样性不足的倾向。
另外,也可以修改train_CNN_CTU64.py:
BATCH_SIZE = 64
适当减小也可以降低内存占用。
但内存够用的前提下,batch size最好不要太小,以免影响训练的稳定性。
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
好的,不客气!谢谢您关注哈。
2021-01-04 15:05:56qin-liming <[email protected]>wrote:
好的,了解了,谢谢谢谢!真的非常感谢!有问题再向您请教
…------------------ 原始邮件 ------------------
发件人: "tianyili2017/HEVC-Complexity-Reduction" <[email protected]>;
发送时间: 2021年1月4日(星期一) 下午2:56
收件人: "tianyili2017/HEVC-Complexity-Reduction"<[email protected]>;
抄送: ""<[email protected]>;"Comment"<[email protected]>;
主题: Re: [tianyili2017/HEVC-Complexity-Reduction] 请教:关于建立数据库。 (#7)
images=data [:, 0:4096].astype(np.float32),MemoryError: Unabale to allocate 1.22Gib for an array with shape (80000,4096)and data type float32
您好,看问题描述应该是内存不足,可以再确认下报错之前内存是否接近全满。
如果是这样,可以在input_data.py里修改:
TRAINSET_READSIZE = 80000
VALIDSET_READSIZE = 60000
TESTSET_READSIZE = 60000
这三行代表每次往内存里读入训练集、验证集和测试集的多少个样本,作为缓存。适当改小这三个变量,可以减小内存占用。
作为补偿,可以适当减小 train_CNN_CTU64.py 里的 ITER_TIMES_PER_CHANGE_TRAINSET = 2000,比如改为1000或者500,即增加训练集数据轮换的频率,防止总用同一批数据训练、多样性不足的倾向。
另外,也可以修改train_CNN_CTU64.py:
BATCH_SIZE = 64
适当减小也可以降低内存占用。
但内存够用的前提下,batch size最好不要太小,以免影响训练的稳定性。
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
您好, |
您好,我看了关于构建数据库的那部分,但是没有明白是如何构建的。因为我需要用于屏幕内容视频编码的培训,验证和测试数据,所以想请教您是如何将编码后CU的深度和CU亮度像素值信息提取出来,以构建数据库的呢?
希望您能回答,十分感谢!
The text was updated successfully, but these errors were encountered: