summaryrefslogtreecommitdiff
path: root/latest.pl
blob: 1e3a46e4da7ab2d03de777bb53f5b2c604ab07cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl

use strict;
use Getopt::Std;

our $opt_l;
getopts('l');

# my $s = "results/exp:03_responses-frame_sizes:8,2-n_rnn:2-dataset:03_responses/checkpoints/best-ep1-it1035";
sub process($){
  my ($dir) = @_;
  my @exp = split(":", $dir);
  my $name = $exp[4];
  my $ep;
  my $path = "results/" . $dir . "/";
  my $chex = $path . "checkpoints/";
  return 0 unless -e $chex;
  opendir DIR, $chex or die $!;
  while (readdir DIR) {
    next unless /^ep/;
    $ep = $_;
    last;
  }
  closedir DIR;

  my @epoch = split("-", $ep);
  $name .= "-" . $epoch[0];

  if (! $epoch[0]) {
    return 0;
  }
  if (-e "output/" . $name . ".mp3") {
    return 1;
  }

  print $name . "\n";
  if (!$opt_l) {
    return 0;
  }
  print "\n";
  print "_______________________________________________________________\n";
  print "\n";
  system('/bin/bash', 'mix.sh', $path, $name);
  return 0;
}

opendir RESULTS, ("results/") or die $!;
my @results = sort {(stat $a)[10] <=> (stat $b)[10]} readdir(RESULTS);
closedir RESULTS;

for my $result (@results) {
  next if $result !~ /exp:/;
  my $rv = process($result);
  #last if $rv;
}