Sapphire-star/PFCR

关于数据预处理的问题

Closed this issue · 14 comments

大佬好呀!!
我现在想使用您的模型在我自己的数据集上进行训练,但是数据集和您提供的数据集不一样。换言之,我的数据集下面没有模型训练所需的 .feat1cls 文件、.index 文件或 .inter 文件,我的数据集仅仅是从 Amazon 2018 下载的原始数据集。
请问,您的模型是否提供了从原始数据集到可以用于训练的数据集的数据转换代码?如果没有提供,请问您是如何将 Amazon 的原始数据集转换为可供模型训练的数据集的?可以提供一下代码和跑代码的顺序吗~?
谢谢大佬!!! 祝您一切顺利!!

大佬好呀!! 我现在想使用您的模型在我自己的数据集上进行训练,但是数据集和您提供的数据集不一样。换言之,我的数据集下面没有模型训练所需的 .feat1cls 文件、.index 文件或 .inter 文件,我的数据集仅仅是从 Amazon 2018 下载的原始数据集。 请问,您的模型是否提供了从原始数据集到可以用于训练的数据集的数据转换代码?如果没有提供,请问您是如何将 Amazon 的原始数据集转换为可供模型训练的数据集的?可以提供一下代码和跑代码的顺序吗~? 谢谢大佬!!! 祝您一切顺利!!

这是经过处理后的语义编码文件,原始数据处理方式我在readme给了链接,用UnisRec同样的方式处理就可以得到.feat1cls和.inter文件,用all_pq.py进行向量量化得到.index文件。正确的运行方式是先经过fed_train进行联邦预训练,用预训练保存后的参数文件的基础上进行single_train运行直到early stopping停止,最后再使用prompt_finetune文件进行最后的prompt微调,prompt_finetune可以选择用哪种prompt方式

哇塞谢谢大佬!我可以理解为:
用 unisrec 的处理方式获得 .feat1cls 文件和 .inter 文件,然后用 all_pq.py 处理得到 .index 文件,然后再进行训练,对吗~?
(all_pq.py 也是直接把原始的 Amazon 数据集丢进去就可以对吧,谢谢大佬!

哇塞谢谢大佬!我可以理解为: 用 unisrec 的处理方式获得 .feat1cls 文件和 .inter 文件,然后用 all_pq.py 处理得到 .index 文件,然后再进行训练,对吗~? (all_pq.py 也是直接把原始的 Amazon 数据集丢进去就可以对吧,谢谢大佬!

你要先用unisrec里面的处理方式处理原始数据集,那个里面的方法包括划分训练测试集合读取文本编码,执行完之后再使用all_pq

okkkk 明白啦!谢谢大佬!!

大佬,还有一些后续的问题,感谢!!
首先,我看到您的数据集目录下(比如office-art这个联邦学习的数据集)有三个子目录,分别是两个单独的域的数据(office和art,O目录和A目录)和两个域整合在一起的数据(OA目录)。但是我通过 unisrec 中的方法似乎只能获得单独的域的数据(也就是类似 O 目录和 A 目录),而不能获得两个域整合在一起的数据(类似 OA 目录),请问这个应该怎么办?
第二,我已经获得了用 unisrec 方法处理后的数据,就是包含 .feat1cls 和 .inter 文件,但是没有 .index 文件,请问我应该如何使用 all_pq.py 来获得 .index 文件?

非常感谢!!! 祝大佬科研顺利!

谢谢大佬!!

大佬,还有一些后续的问题,感谢!! 首先,我看到您的数据集目录下(比如office-art这个联邦学习的数据集)有三个子目录,分别是两个单独的域的数据(office和art,O目录和A目录)和两个域整合在一起的数据(OA目录)。但是我通过 unisrec 中的方法似乎只能获得单独的域的数据(也就是类似 O 目录和 A 目录),而不能获得两个域整合在一起的数据(类似 OA 目录),请问这个应该怎么办? 第二,我已经获得了用 unisrec 方法处理后的数据,就是包含 .feat1cls 和 .inter 文件,但是没有 .index 文件,请问我应该如何使用 all_pq.py 来获得 .index 文件?

非常感谢!!! 祝大佬科研顺利!

第一个问题:这个同样也是在unisrec中的https://github.com/RUCAIBox/UniSRec/blob/master/dataset/preprocessing/to_pretrain_atomic_files.py
这里可以将多个数据集数据合并,第二个问题:用你预处理好的数据,记得改里面的路径

hi 大佬!! 抱歉又打扰啦..
我现在已经用 UniSREC 中的方法处理完了Amazon数据集,arts 目录如下:
1721558805780
然后我同时还处理了 office 数据集,得到的格式和上面的格式一样。
我现在尝试用 all_pq.py 文件单独处理 arts 和单独处理 office 数据集的时候都遇到了问题(报错),似乎并不能这么处理。
我现在应该怎么做,以对每个数据集进行 all_pq 操作?
同时,对于合并数据集的问题,需要把两个数据集(比如 office 和 art)都用 all_pq 处理完之后再合并吗,还是说可以合并之后再用 all_pq 进行处理?

非常感谢!!

hi 大佬!! 抱歉又打扰啦.. 我现在已经用 UniSREC 中的方法处理完了Amazon数据集,arts 目录如下: 1721558805780 然后我同时还处理了 office 数据集,得到的格式和上面的格式一样。 我现在尝试用 all_pq.py 文件单独处理 arts 和单独处理 office 数据集的时候都遇到了问题(报错),似乎并不能这么处理。 我现在应该怎么做,以对每个数据集进行 all_pq 操作? 同时,对于合并数据集的问题,需要把两个数据集(比如 office 和 art)都用 all_pq 处理完之后再合并吗,还是说可以合并之后再用 all_pq 进行处理?

非常感谢!!

如果是warning不用管就行,代码只要你路径改对应该不会报错。合并是合并之后再用all_pq处理

诶但不是 warning 诶,,,可以单独对每一个域的文件用 all_pq 吗?我尝试了它直接报错不运行了。

诶但不是 warning 诶,,,可以单独对每一个域的文件用 all_pq 吗?我尝试了它直接报错不运行了。

具体什么报错

路径改的是对的,它运行了两下之后就报错了,我发现原因如下:
这是我处理完的 test.inter:
image

这是您给到的 test.inter:
image

我发现我自己的那个没有中间的“-”号,这也是报错的原因所在,因为它需要用“-”号进行 split。

路径改的是对的,它运行了两下之后就报错了,我发现原因如下: 这是我处理完的 test.inter: image

这是您给到的 test.inter: image

我发现我自己的那个没有中间的“-”号,这也是报错的原因所在,因为它需要用“-”号进行 split。

你处理单域的文件用process_amazon处理完之后也需要再过一下to_pretrain_atomic_files那个文件,至于前面的编码0或者1,你可以根据里面的代码自己改一下,很简单,把这个函数里的dataset_id改成你要的指定数就行
QQ_1721560570127

oooooo 收到!!谢谢大佬!我试试~~!
❤❤❤~~~