fb15k.sh 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #!/usr/bin/env bash
  2. #
  3. # copyright (c) 2017-present, facebook, inc.
  4. # all rights reserved.
  5. #
  6. # this source code is licensed under the MIT license found in the
  7. # license file in the root directory of this source tree.
  8. #
  9. # script for FB15k
  10. DIR=data/FB15k/
  11. FASTTEXTDIR=../../
  12. # compile
  13. pushd $FASTTEXTDIR
  14. make opt
  15. popd
  16. ft=${FASTTEXTDIR}/fasttext
  17. g++ -std=c++0x eval.cpp -o eval
  18. ## Train model and test it on validation:
  19. dim=100
  20. epoch=100
  21. neg=100
  22. model=data/fb15
  23. pred=data/fbpred
  24. echo "---- train ----"
  25. $ft supervised -input $DIR/ft_freebase_mtr100_mte100-train.txt \
  26. -dim $dim -epoch $epoch -output ${model} -lr .2 -thread 20 -loss ns -neg $neg -minCount 0
  27. echo "computing raw hits@10..."
  28. $ft test ${model}.bin $DIR/ft_freebase_mtr100_mte100-test.txt 10 2> /dev/null | awk '{if(NR==3) print "raw hit@10="$2}'
  29. echo "computing filtered hit@10..."
  30. $ft predict ${model}.bin $DIR/ft_freebase_mtr100_mte100-test.txt 20000 > $pred
  31. ./eval $pred ${DIR}/ft_freebase_mtr100_mte100-test.txt $DIR/ft_freebase_mtr100_mte100-full.txt 10 | awk '{if(NR==2) print "filtered hit@10="$2}'
  32. echo "---- train+val ----"
  33. $ft supervised -input $DIR/ft_freebase_mtr100_mte100-valid+train.txt \
  34. -dim ${dim} -epoch ${dim} -output ${model} -lr .2 -thread 20 -loss ns -neg ${neg} -minCount 0
  35. echo "computing raw hits@10..."
  36. $ft test ${model}.bin $DIR/ft_freebase_mtr100_mte100-test.txt 10 2> /dev/null | awk '{if(NR==3) print "raw hit@10="$2}'
  37. echo "computing filtered hit@10..."
  38. $ft predict ${model}.bin $DIR/ft_freebase_mtr100_mte100-test.txt 20000 > $pred
  39. ./eval $pred ${DIR}/ft_freebase_mtr100_mte100-test.txt $DIR/ft_freebase_mtr100_mte100-full.txt 10 | awk '{if(NR==2) print "filtered hit@10="$2}'