open source pkg v1
This commit is contained in:
54
pkg/OpenFace/model_training/CCNF/CCRF/lib/CalculateYqDs.m
Normal file
54
pkg/OpenFace/model_training/CCNF/CCRF/lib/CalculateYqDs.m
Normal file
@@ -0,0 +1,54 @@
|
||||
function [ PrecalcYqDs ] = CalculateYqDs( n_sequences, x, similarityFNs, sparsityFNs, y)
|
||||
%CALCULATESIMILARITIES Summary of this function goes here
|
||||
% Detailed explanation goes here
|
||||
|
||||
K = numel(similarityFNs);
|
||||
K2 = numel(sparsityFNs);
|
||||
|
||||
PrecalcYqDs = zeros(n_sequences, K + K2);
|
||||
|
||||
|
||||
sample_length = size(y,1);
|
||||
|
||||
similarities = cell(K, 1);
|
||||
sparsities = cell(K2, 1);
|
||||
|
||||
Similarities = zeros([sample_length, sample_length, K+K2]);
|
||||
|
||||
Bs = zeros([sample_length, sample_length, K+K2]);
|
||||
|
||||
for k=1:K
|
||||
similarities{k} = similarityFNs{k}(x);
|
||||
Similarities(:,:,k) = similarities{k};
|
||||
S = Similarities(:,:,k);
|
||||
D = diag(sum(S));
|
||||
Bs(:,:,k) = D - S;
|
||||
|
||||
end
|
||||
|
||||
for k=1:K2
|
||||
% this is constant so don't need to recalc
|
||||
sparsities{k} = sparsityFNs{k}(x);
|
||||
|
||||
Similarities(:,:,K+k) = sparsities{k};
|
||||
S = Similarities(:,:,K+k);
|
||||
D = diag(sum(S));
|
||||
% PrecalcQ2s{q}(:,:,k) = D - S;
|
||||
Bs(:,:,K+k) = D + S;
|
||||
% PrecalcQ2sFlat{q}{k} = PrecalcQ2s{q}{k}(logical(tril(ones(size(S)))));
|
||||
|
||||
end
|
||||
|
||||
for q = 1 : n_sequences
|
||||
|
||||
% go over all of the similarity metrics and construct the
|
||||
% similarity matrices
|
||||
yq = y(:,q);
|
||||
|
||||
for k=1:K+K2
|
||||
PrecalcYqDs(q,k) = -yq'*Bs(:,:,k)*yq;
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user