daodaofr / hypergraph_reid Goto Github PK
View Code? Open in Web Editor NEWCode for CVPR 2020 paper Learning Multi-Granular Hypergraphs for Video-Based Person Re-Identification
Code for CVPR 2020 paper Learning Multi-Granular Hypergraphs for Video-Based Person Re-Identification
Hi! As shown in table1, the mutual information module improves the performance well. But I can't find the implementation of this module in your code. Since the general mutual information estimators can only get the lower bound of the real mutual information, I have no idea how do you minimize the mutual information between different parts. Do you use the methods like CLUB to model the upper bound of the mutual information? Looking forward to your reply, thx!
在代码中只看到了图的池化相关的代码,例如 f1 = F.avg_pool1d(f1, int(t*self.p1)),将节点级的特征汇总到每个超图的图级表示。
而没有找到论文中所提及的 注意力超图特征聚合
,计算节点的注意力,麻烦看到回复一下,谢谢!
Hi, thanks for your code first. The shared model is based on MARS. Can you offer the trained model on iLIDS-VID?
对您的这篇论文非常感兴趣,想问您一下,您在定义layers1的时候 只用到了BatchedGraphSAGEDynamicRangeMean1 这个类,其他剩下的类您注释了BatchedGraphSAGEDynamicMean1,BatchedGraphSAGEMean1,BatchedGraphSAGEMean1Temporal,BatchedGAT_cat1 请问这几个类有用吗,还有想请问您一下 ,
for i in range(int(N/p)):
idx_start = max(0, i-t)
idx_end = min(i+t+1, int(N/p))
tmp_x = x[:,idx_startp:idx_endp,]
dis = NearestConvolution.cos_dis(tmp_x) 这个是计算特征之间的相似性
if i==0:
tk = min(dis.shape[2], self.kn)
#print(tk)
_, idx = torch.topk(dis, tk, dim=2) 是包含前K个近邻的邻居集
k_nearest = torch.stack([torch.stack([tmp_x[j, idx[j, i]] for i in range(p*(idx_end-idx_start))], dim=0) for j in range(b)], dim=0) #(b, xp, kn, d)
#print(k_nearest)
k_nearest_list.append(k_nearest[:,p(i-idx_start):p*(i-idx_start+1),])
k_nearest = torch.cat(k_nearest_list, dim=1) #(b,N, kn, d)
x_neib = k_nearest[:,:,1:,].contiguous() 我们将除节点 v i 以外的超边中的所有节点特征进行平均操作,作为超边的特征.
x_neib = x_neib.mean(dim=2)
h_k = torch.cat((self.W_x(x), self.W_neib(x_neib)), 2)
h_k = F.normalize(h_k, dim=2, p=2)
h_k = F.relu(h_k)
#print(h_k.shape)
if self.use_bn:
#self.bn = nn.BatchNorm1d(h_k.size(1))
h_k = self.bn(h_k.permute(0,2,1).contiguous())
#print(h_k.shape)
h_k = h_k.permute(0, 2, 1)
#print(h_k.shape)
return h_k
请问评估每个超边的重要性的代码 在哪里啊 谢谢您的回复
Hello, I want to check the performance of this method on my dataset. However, it only provides the way to train. May I ask how to evaluate with the trained model, and how to save the results?
Thank you!
any update on the code?
论文里提到的互信息损失,似乎在开源代码里没有提到。
Excuse me. When I tested the computer memory was not enough, I changed the loader mode of the test data set to the random mode, and the computer reported an error: ValueError: not enough values to unpack (expected 6, got 5).Looking foward for your answer.Thank you very much!
作者您好!对您的工作十分感兴趣,但根据源码里ResNet50GRAPHPOOLPARTHyper和BatchedGraphSAGEDynamicRangeMean1这两个类的相关实现,似乎只使用了一个时间粒度(3)?谢谢!
Is there any chance that trained weights/checkpoints be provided?
when I want to train the model ,terminal shows that pretrained model resnet50-19c8e357.pth is no such file.
hope to get reply.
thanks!
I use GeForce RTX 2080 with 7G memory, loss converges to 4.4, map only reaches 60.0%, rank1 only reaches 73.3%, batchsize is set to 8,learning rate is set to 0.000075, and the step size is 100.
Because there was not enough memory during the test, only a part of it was loaded. Do you think it is the parameter setting or too little test load data? I adjusted it several times, but the effect was not satisfactory.
Thank you !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.