1. 07 Jan, 2019 5 commits
    • Taylor Robie's avatar
      fix lint errors · 0fbc71fc
      Taylor Robie authored
      0fbc71fc
    • Taylor Robie's avatar
      address PR comments · 1bb074b0
      Taylor Robie authored
      1bb074b0
    • Taylor Robie's avatar
      Add bisection based producer for increased scalability, enable fully... · 4fb325da
      Taylor Robie authored
      Add bisection based producer for increased scalability, enable fully deterministic data production, and use the materialized and bisection producer to check each other (via expected output md5's)
      4fb325da
    • Taylor Robie's avatar
      delint · c556dad9
      Taylor Robie authored
      c556dad9
    • Taylor Robie's avatar
      rough pass at carving out existing NCF pipeline · c5ff4ec7
      Taylor Robie authored
      2nd half of rough replacement pass
      
      fix dataset map functions
      
      reduce bias in sample selection
      
      cache pandas work on a daily basis
      
      cleanup and fix batch check for multi gpu
      
      multi device fix
      
      fix treatment of eval data padding
      
      print data producer
      
      replace epoch overlap with padding and masking
      
      move type and shape info into the producer class and update run.sh with larger batch size hyperparams
      
      remove xla for multi GPU
      
      more cleanup
      
      remove model runner altogether
      
      bug fixes
      
      address subtle pipeline hang and improve producer __repr__
      
      fix crash
      
      fix assert
      
      use popen_helper to create pools
      
      add StreamingFilesDataset and abstract data storage to a separate class
      
      bug fix
      
      fix wait bug and add manual stack trace print
      
      more bug fixes and refactor valid point mask to work with TPU sharding
      
      misc bug fixes and adjust dtypes
      
      address crash from decoding bools
      
      fix remaining dtypes and change record writer pattern since it does not append
      
      fix synthetic data
      
      use TPUStrategy instead of TPUEstimator
      
      minor tweaks around moving to TPUStrategy
      
      cleanup some old code
      
      delint and simplify permutation generation
      
      remove low level tf layer definition, use single table with slice for keras, and misc fixes
      
      missed minor point on removing tf layer definition
      
      fix several bugs from recombinging layer definitions
      
      delint and add docstrings
      
      Update ncf_test.py. Section for identical inputs and different outputs was removed.
      
      update data test to run against the new producer class
      c5ff4ec7
  2. 03 Nov, 2018 1 commit
  3. 20 Oct, 2018 1 commit
  4. 18 Oct, 2018 1 commit
    • Taylor Robie's avatar
      Reorder NCF data pipeline (#5536) · 19d4eaaf
      Taylor Robie authored
      * intermediate commit
      
      finish replacing spillover with resampled padding
      
      intermediate commit
      
      * resolve merge conflict
      
      * intermediate commit
      
      * further consolidate the data pipeline
      
      * complete first pass at data pipeline refactor
      
      * remove some leftover code
      
      * fix test
      
      * remove resampling, and move train padding logic into neumf.py
      
      * small tweaks
      
      * fix weight bug
      
      * address PR comments
      
      * fix dict zip. (Reed led me astray)
      
      * delint
      
      * make data test deterministic and delint
      
      * Reed didn't lead me astray. I just can't read.
      
      * more delinting
      
      * even more delinting
      
      * use resampling for last batch padding
      
      * pad last batch with unique data
      
      * Revert "pad last batch with unique data"
      
      This reverts commit cbdf46efcd5c7907038a24105b88d38e7f1d6da2.
      
      * move padded batch to the beginning
      
      * delint
      
      * fix step check for synthetic data
      19d4eaaf
  5. 10 Oct, 2018 1 commit
  6. 03 Oct, 2018 1 commit
    • Taylor Robie's avatar
      Move evaluation to .evaluate() (#5413) · c494582f
      Taylor Robie authored
      * move evaluation from numpy to tensorflow
      
      fix syntax error
      
      don't use sigmoid to convert logits. there is too much precision loss.
      
      WIP: add logit metrics
      
      continue refactor of NCF evaluation
      
      fix syntax error
      
      fix bugs in eval loss calculation
      
      fix eval loss reweighting
      
      remove numpy based metric calculations
      
      fix logging hooks
      
      fix sigmoid to softmax bug
      
      fix comment
      
      catch rare PIPE error and address some PR comments
      
      * fix metric test and address PR comments
      
      * delint and fix python2
      
      * fix test and address PR comments
      
      * extend eval to TPUs
      c494582f
  7. 20 Sep, 2018 1 commit
  8. 05 Sep, 2018 1 commit
    • Reed's avatar
      Fix spurious "did not start correctly" error. (#5252) · 7babedc5
      Reed authored
      * Fix spurious "did not start correctly" error.
      
      The error "Generation subprocess did not start correctly" would occur if the async process started up after the main process checked for the subproc_alive file.
      
      * Add error message
      7babedc5
  9. 22 Aug, 2018 1 commit
    • Reed's avatar
      Fix convergence issues for MLPerf. (#5161) · 64710c05
      Reed authored
      * Fix convergence issues for MLPerf.
      
      Thank you to @robieta for helping me find these issues, and for providng an algorithm for the `get_hit_rate_and_ndcg_mlperf` function.
      
      This change causes every forked process to set a new seed, so that forked processes do not generate the same set of random numbers. This improves evaluation hit rates.
      
      Additionally, it adds a flag, --ml_perf, that makes further changes so that the evaluation hit rate can match the MLPerf reference implementation.
      
      I ran 4 times with --ml_perf and 4 times without. Without --ml_perf, the highest hit rates achieved by each run were 0.6278, 0.6287, 0.6289, and 0.6241. With --ml_perf, the highest hit rates were 0.6353, 0.6356, 0.6367, and 0.6353.
      
      * fix lint error
      
      * Fix failing test
      
      * Address @robieta's feedback
      
      * Address more feedback
      64710c05
  10. 31 Jul, 2018 1 commit
  11. 30 Jul, 2018 1 commit
    • Taylor Robie's avatar
      NCF pipeline refactor (take 2) and initial TPU port. (#4935) · 6518c1c7
      Taylor Robie authored
      * intermediate commit
      
      * ncf now working
      
      * reorder pipeline
      
      * allow batched decode for file backed dataset
      
      * fix bug
      
      * more tweaks
      
      * parallize false negative generation
      
      * shared pool hack
      
      * workers ignore sigint
      
      * intermediate commit
      
      * simplify buffer backed dataset creation to fixed length record approach only. (more cleanup needed)
      
      * more tweaks
      
      * simplify pipeline
      
      * fix misplaced cleanup() calls. (validation works\!)
      
      * more tweaks
      
      * sixify memoryview usage
      
      * more sixification
      
      * fix bug
      
      * add future imports
      
      * break up training input pipeline
      
      * more pipeline tuning
      
      * first pass at moving negative generation to async
      
      * refactor async pipeline to use files instead of ipc
      
      * refactor async pipeline
      
      * move expansion and concatenation from reduce worker to generation workers
      
      * abandon complete async due to interactions with the tensorflow threadpool
      
      * cleanup
      
      * remove per...
      6518c1c7