From cd8800cf377b5b8c07dc25f3629e503f01bc9112 Mon Sep 17 00:00:00 2001 From: mguetlein Date: Fri, 27 Jul 2012 10:19:50 +0200 Subject: disable dataset cache when filtering --- lib/dataset_cache.rb | 8 ++++++-- validation/validation_application.rb | 2 +- validation/validation_service.rb | 2 ++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/dataset_cache.rb b/lib/dataset_cache.rb index 7a13e9b..3f55167 100644 --- a/lib/dataset_cache.rb +++ b/lib/dataset_cache.rb @@ -4,17 +4,21 @@ module Lib module DatasetCache @@cache={} + + def self.disable() + @@cache=nil + end # same as OpenTox::Dataset.find with caching function # rational: datasets are reused in crossvalidation very often, cache to save computational effort # PENDING: may cause memory issues, test with huge datasets def self.find(dataset_uri, subjectid=nil) return nil if (dataset_uri==nil) - d = @@cache[dataset_uri.to_s+"_"+subjectid.to_s] + d = @@cache[dataset_uri.to_s+"_"+subjectid.to_s] if @@cache if d==nil LOGGER.debug "loading dataset #{dataset_uri}" d = OpenTox::Dataset.find(dataset_uri, subjectid) - @@cache[dataset_uri.to_s+"_"+subjectid.to_s] = d + @@cache[dataset_uri.to_s+"_"+subjectid.to_s] = d if @@cache end d end diff --git a/validation/validation_application.rb b/validation/validation_application.rb index eaa3ce2..9233502 100755 --- a/validation/validation_application.rb +++ b/validation/validation_application.rb @@ -587,7 +587,7 @@ post '/plain_training_test_split' do split_features = params[:split_features].split(";") if params[:split_features] result = Validation::Util.train_test_dataset_split(params[:dataset_uri], params[:prediction_feature], @subjectid, params[:stratified], params[:split_ratio], params[:random_seed], params[:missing_values], task, split_features, - params[:store_split_clusters]) + params[:store_split_clusters]=="true") content_type "text/uri-list" res = result[:training_dataset_uri]+"\n"+result[:test_dataset_uri]+"\n" LOGGER.info "plain training test split done #{res.to_s.gsub("\n"," \\n ")}" diff --git a/validation/validation_service.rb b/validation/validation_service.rb index a2e97d0..e099e25 100755 --- a/validation/validation_service.rb +++ b/validation/validation_service.rb @@ -273,6 +273,8 @@ module Validation #self.prediction_data = nil #self.save + Lib::DatasetCache.disable + raise OpenTox::BadRequestError.new "only supported for classification" if prediction!=nil and classification_statistics==nil raise OpenTox::BadRequestError.new "illegal confidence value #{min_confidence}" unless min_confidence==nil or (min_confidence.is_a?(Numeric) and min_confidence>=0 and min_confidence<=1) -- cgit v1.2.3