5 Python深度学习实践
2020-03-01 217浏览
- 1.深度学习实践 from Tensorflow to AI-Hub 王顺 – Google Cloud
- 2.目录 CONTENTS 从零开始 初步修改 业务升级 实践指南
- 3.1 从hello world开始 以深度学习的第一个案例MNIST为例 学习Tensorflow框架的使用及代码编写风格
- 4.理解TF
- 5.Mac CPU运行结果
- 6.GPU运行结果
- 7.TPU运行结果
- 8.TPU的创建和使用
- 9.TPU训练MNIST的改动
- 10.TPU训练MNIST的改动 resolver = tf.distribute.cluster_resolver.TPUClusterResolver() tf.tpu.experimental.initialize_tpu_system(resolver) tpu_strategy = tf.distribute.experimental.TPUStrategy(resolver)https://www.tensorflow.org/guide/distribute_strategy
- 11.2 初步修改 针对第一个python代码执行、思考和改进 如何能做的更好?
- 12.TPU Pod
- 13.BERT 训练时间短https://github.com/google-research/bert
- 14.
- 15.Data
- 16.数据不均 • Why are my tip predictions bad in the morning hours? Chicago Taxi Cab Dataset 16
- 17.Tensorflow/Keras中的网络
- 18.Custom training with TPUs •https://www.tensorflow.org/tutorials/distribute/tpu_custom_training
- 19.3 业务升级 以上已经针对MNIST做了一些深入学习 接下来思考如何满足实际业务上的需要
- 20.LEGO积木
- 21.Component:ExampleGen Inputs and Outputs CSV TF Record Raw Data Configuration examples = csv_input(os.path.join(data_root, 'simple')) example_gen = CsvExampleGen(input_base=examples) Example Gen Split TF Record Data Training Eval 22
- 22.Component:StatisticsGen Inputs and Outputs ExampleGen Configuration statistics_gen = StatisticsGen(input_data=example_gen.outputs.examples) Data Visualization StatisticsGen Statistics 23
- 23.Component:SchemaGen Inputs and Outputs StatisticsGen Configuration infer_schema = SchemaGen(stats=statistics_gen.outputs.output) Statistics Visualization SchemaGen Schema 24
- 24.Component:ExampleValidator Inputs and Outputs StatisticsGen Configuration SchemaGen Statistics Schema validate_stats = ExampleValidator( stats=statistics_gen.outputs.output, schema=infer_schema.outputs.output) Visualization Example Validator Anomalies Report 25
- 25.Component:Transform Inputs and Outputs ExampleGen Data Configuration SchemaGen Code Schema Code Transform Transform Graph Transformed Data Trainer transform = Transform( input_data=example_gen.outputs.examples, schema=infer_schema.outputs.output, module_file=taxi_module_file) for key in _DENSE_FLOAT_FEATURE_KEYS:outputs[_transformed_name(key)] = transform.scale_to_z_score( _fill_in_missing(inputs[key])) # ... outputs[_transformed_name(_LABEL_KEY)] = tf.where( tf.is_nan(taxi_fare), tf.cast(tf.zeros_like(taxi_fare), tf.int64), # Test if the tip was > 20% of the fare. tf.cast( tf.greater(tips, tf.multiply(taxi_fare, tf.constant(0.2))), tf.int64)) # ... 26
- 26.Component:Trainer Inputs and Outputs Transform Data SchemaGen Configuration Code Schema Transform Graph Trainer trainer = Trainer( module_file=taxi_module_file, transformed_examples=transform.outputs.transformed_examples, schema=infer_schema.outputs.output, transform_output=transform.outputs.transform_output, train_steps=10000, eval_steps=5000, warm_starting=True) Model(s) Evaluator Model Validator PusherCode:Just TensorFlow :) 27
- 27.Component:Evaluator Inputs and Outputs ExampleGen Data Configuration Trainer model_analyzer = Evaluator( examples=examples_gen.outputs.output, eval_spec=taxi_eval_spec, model_exports=trainer.outputs.output) Model Evaluator Visualization Evaluation Metrics 28
- 28.Component:ModelValidator Inputs and Outputs ExampleGen Data Configuration Trainer model_validator = ModelValidator( examples=examples_gen.outputs.output, model=trainer.outputs.output, eval_spec=taxi_mv_spec) Model (x2) Model Validator ● Validation Outcome Configuration options ○ Validate using current eval data ○ “Next-day eval”, validate using unseen data 29
- 29.Component:Pusher Inputs and Outputs Model Validator Validation Outcome Configuration pusher = Pusher( model_export=trainer.outputs.output, model_blessing=model_validator.outputs.blessing, serving_model_dir=serving_model_dir) Pusher Pusher Pusher Deployment Options ● Block push on validation outcome ● Push destinations supported today ○ Filesystem ○ TF Serving model server 30
- 30.4 实践指南 实践经验小结
- 31.1. Data 单击此处添加标题
- 32.2. Tensorboard
- 33.3. Fine tune
- 34.4. checkpoint
- 35.5. Pipeline TFX Config Airflow Runtime Kubeflow Runtime Example Validator StatisticsGen TensorFlow Serving SchemaGen Evaluator TensorFlow Hub Training + Eval Data ExampleGen Transform Trainer Model Validator Pusher TensorFlow Lite TensorFlow JS Metadata Store
- 36.6. 协作
- 37.Takeaways • 在不同设备上执行训练 • 基于AI产品的全流程 • 深度学习实践: • • • • 质量 效率 专注 稳定 • 参与和行动!!!
- 38.THANK YOU 希望对大家有所帮助和启发