Skip to content

Commit 8a19a9f

Browse files
committed
update label orientation for flux
1 parent 4d65006 commit 8a19a9f

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

Diff for: Project.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "FastaLoader"
22
uuid = "139838d8-4077-4d8a-94e1-e6dd554a184c"
33
authors = ["Shane Kuei Hsien Chu ([email protected])"]
4-
version = "0.1.7"
4+
version = "0.1.8"
55

66
[deps]
77
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"

Diff for: src/fasta_w_splits.jl

+11-8
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,15 @@ function read_ryan_fasta(all_labels::Vector{String};
7474
class_indices = [findall(@view class_indicators[:,i]) for i = 1:size(class_indicators,2)]
7575
shuffles_class_indices = shuffle_this ? shuffle.(class_indices) : class_indices;
7676
# note that class_indicators is not shuffled
77-
return shuffles_class_indices, class_indicators
77+
# TODO: remove allocations later
78+
return shuffles_class_indices, Array(class_indicators')
7879
end
7980

8081
function make_FASTA_DNA_w_splits(fp::String;
8182
class_selector=read_ryan_fasta,
8283
split_ratio=0.85,
8384
folds=5,
85+
flux=true,
8486
float_type=Float32)
8587
all_labels, all_dna_read = get_ryan_fasta_str_labels(fp);
8688
shuffles_class_indices, class_indicators = class_selector(all_labels);
@@ -93,7 +95,7 @@ function make_FASTA_DNA_w_splits(fp::String;
9395
);
9496
data_matrix, data_matrix_bg, _, acgt_freq, markov_bg_mat = FastaLoader.get_data_matrices(all_dna_read;
9597
FloatType=float_type);
96-
return FASTA_DNA_w_splits(mcs,
98+
fws = FASTA_DNA_w_splits(mcs,
9799
all_labels,
98100
class_indicators,
99101
cu(class_indicators),
@@ -104,6 +106,7 @@ function make_FASTA_DNA_w_splits(fp::String;
104106
cu(data_matrix),
105107
data_matrix_bg
106108
);
109+
flux && fasta_reshape_for_flux!(fws);
107110
end
108111

109112
function get_test_set_ind(mcs::multiple_class_splits)
@@ -148,20 +151,20 @@ end
148151
function get_test_set_for_flux(fws::FASTA_DNA_w_splits; gpu=true)
149152
test_set_ind = get_test_set_ind(fws.mcs);
150153
if gpu
151-
return fws.data_matrix_gpu[:,:,test_set_ind], fws.label_indicators_gpu[test_set_ind,:]
154+
return fws.data_matrix_gpu[:,:,test_set_ind], fws.label_indicators_gpu[:,test_set_ind]
152155
else
153-
return fws.data_matrix[:,:,test_set_ind], fws.label_indicators[test_set_ind,:]
156+
return fws.data_matrix[:,:,test_set_ind], fws.label_indicators[:,test_set_ind]
154157
end
155158
end
156159

157160
function get_train_fold_for_flux(fws::FASTA_DNA_w_splits, fold::Int; gpu=true)
158161
train_set_ind, valid_set_ind = get_train_fold_ind(fws.mcs, fold)
159162
if gpu
160-
return fws.data_matrix_gpu[:,:,train_set_ind], fws.label_indicators_gpu[train_set_ind,:]
161-
fws.data_matrix_gpu[:,:,valid_set_ind], fws.label_indicators_gpu[valid_set_ind,:]
163+
return fws.data_matrix_gpu[:,:,train_set_ind], fws.label_indicators_gpu[:,train_set_ind]
164+
fws.data_matrix_gpu[:,:,valid_set_ind], fws.label_indicators_gpu[:,valid_set_ind]
162165
else
163-
return fws.data_matrix[:,:,train_set_ind], fws.label_indicators[train_set_ind,:]
164-
fws.data_matrix[:,:,valid_set_ind], fws.label_indicators[valid_set_ind,:]
166+
return fws.data_matrix[:,:,train_set_ind], fws.label_indicators[:,train_set_ind]
167+
fws.data_matrix[:,:,valid_set_ind], fws.label_indicators[:,valid_set_ind]
165168
end
166169
end
167170

Diff for: test/runtests.jl

+3-3
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ using Test
3333
);
3434
test_set_ind = FastaLoader.get_test_set_ind(mcs);
3535
# these test that the indicator should always only contain valid labels
36-
@test sum(sum(class_indicators[test_set_ind, :], dims=2) .== 0) == 0
36+
@test sum(sum(class_indicators[:,test_set_ind], dims=1) .== 0) == 0
3737
train_set_ind, valid_set_ind = FastaLoader.get_train_fold_ind(mcs, 1);
38-
@test sum(sum(class_indicators[train_set_ind, :], dims=2) .== 0) == 0
39-
@test sum(sum(class_indicators[valid_set_ind, :], dims=2) .== 0) == 0
38+
@test sum(sum(class_indicators[:,train_set_ind], dims=1) .== 0) == 0
39+
@test sum(sum(class_indicators[:,valid_set_ind], dims=1) .== 0) == 0
4040

4141
end
4242

0 commit comments

Comments
 (0)