Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

run_audionet.sh 3.8 KB
Raw

You have to be logged in to leave a comment. Sign In
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
  1. # set configuration
  2. task="digit"
  3. # set paths
  4. path_cwd=$PWD
  5. #path_data="/home/becker/repositories/AudioMNIST/data/" #"$path_repo/data_preprocessed/datasets_lmdb" #/foolset"
  6. path_data="/home/becker/AudioMNIST/preprocessed_data/"
  7. timestamp=$(date +"%Y-%m-%d-%T")
  8. # There are five splits for digit classification but only four for gender classification
  9. if [ "$task" == "digit" ]; then
  10. nSplits=5
  11. else
  12. nSplits=4
  13. fi
  14. for ((splitIdx=0;splitIdx<$nSplits;splitIdx+=1));
  15. do
  16. # create folder for this run
  17. config=$path_cwd"/runs/"$timestamp"_"$task"_split"$splitIdx
  18. mkdir -p "$config"
  19. # set path to data for this run
  20. path_hdf5_txt="$path_data"AudioNet_"$task"_"$splitIdx"
  21. cp "$path_cwd/audionet_solver.prototxt" "$config/audionet_solver.prototxt"
  22. cp "$path_cwd/audionet_train.prototxt" "$config/audionet_train.prototxt"
  23. cp "$path_cwd/audionet_test.prototxt" "$config/audionet_test.prototxt"
  24. # create folder for snapshots
  25. mkdir -p "$config/snapshots"
  26. # adapt paths in solver
  27. sed -i "s!<path_snapshots>!$config/snapshots/AudioNet!g" "$config/audionet_solver.prototxt"
  28. sed -i "s!<path_to_network.prototxt>!$config/audionet_train.prototxt!g" "$config/audionet_solver.prototxt"
  29. # adapt data paths in model
  30. sed -i "s!<path_to_training_data>!"$path_hdf5_txt"_train.txt!g" "$config/audionet_train.prototxt"
  31. sed -i "s!<path_to_validation_data>!"$path_hdf5_txt"_validate.txt!g" "$config/audionet_train.prototxt"
  32. sed -i "s!<path_to_test_data>!"$path_hdf5_txt"_test.txt!g" "$config/audionet_test.prototxt"
  33. # task dependent adaptations
  34. if [ "$task" == "digit" ]; then
  35. nTestIter=60 # validation and test set each contain 12 vps -> 6000 samples
  36. sed -i "s!<num_output>!10!g" "$config/audionet_train.prototxt"
  37. sed -i "s!<num_output>!10!g" "$config/audionet_test.prototxt"
  38. # label of current task
  39. sed -i "s!<silent_label>!label_gender!g" "$config/audionet_train.prototxt"
  40. sed -i "s!<silent_label>!label_gender!g" "$config/audionet_test.prototxt"
  41. # unused label
  42. sed -i "s!<nonsilent_label>!label_digit!g" "$config/audionet_train.prototxt"
  43. sed -i "s!<nonsilent_label>!label_digit!g" "$config/audionet_test.prototxt"
  44. else
  45. nTestIter=30 # validation and test set each contains 6 vps -> 3000 samples
  46. sed -i "s!<num_output>!2!g" "$config/audionet_train.prototxt"
  47. sed -i "s!<num_output>!2!g" "$config/audionet_test.prototxt"
  48. # label of current task
  49. sed -i "s!<silent_label>!label_digit!g" "$config/audionet_train.prototxt"
  50. sed -i "s!<silent_label>!label_digit!g" "$config/audionet_test.prototxt"
  51. # unused label
  52. sed -i "s!<nonsilent_label>!label_gender!g" "$config/audionet_train.prototxt"
  53. sed -i "s!<nonsilent_label>!label_gender!g" "$config/audionet_test.prototxt"
  54. fi
  55. sed -i "s!<test_iter>!$nTestIter!g" "$config/audionet_solver.prototxt"
  56. #TODO: make path to caffe less user specific
  57. echo "starting training"
  58. /home/becker/caffe/caffe-1.0/build/tools/caffe train -gpu "0" \
  59. -solver="$config/audionet_solver.prototxt" \
  60. 2>&1 | tee "$config/audionet_"$task"_split"$splitIdx"_train.log"
  61. echo "starting testing"
  62. /home/becker/caffe/caffe-1.0/build/tools/caffe test -gpu "0" \
  63. -iterations "$nTestIter" \
  64. -weights "$config/snapshots/AudioNet_iter_50000.caffemodel" \
  65. -model "$config/audionet_test.prototxt" \
  66. 2>&1 | tee "$config/audionet_"$task"_split"$splitIdx"_test.log"
  67. done
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...