Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Tensorflow สามารถใช้เพื่อสร้างอินสแตนซ์ตัวประมาณโดยใช้ Python ได้อย่างไร


ตัวประมาณสามารถสร้างอินสแตนซ์ได้โดยใช้ Tensorflow โดยใช้วิธี 'DNNClassifier' ที่มีอยู่ในคลาส 'ตัวประมาณ' ของไลบรารี Tensorflow

อ่านเพิ่มเติม: TensorFlow คืออะไรและ Keras ทำงานร่วมกับ TensorFlow เพื่อสร้าง Neural Networks อย่างไร

เราจะใช้ Keras Sequential API ซึ่งมีประโยชน์ในการสร้างแบบจำลองตามลำดับที่ใช้ในการทำงานกับสแต็กเลเยอร์ธรรมดา โดยที่ทุกเลเยอร์มีอินพุตเทนเซอร์หนึ่งตัวและเอาต์พุตเทนเซอร์หนึ่งรายการ

โครงข่ายประสาทเทียมที่มีอย่างน้อยหนึ่งชั้นเรียกว่าชั้น Convolutional เราสามารถใช้ Convolutional Neural Network เพื่อสร้างแบบจำลองการเรียนรู้

TensorFlow Text มีคอลเลกชั่นของคลาสที่เกี่ยวข้องกับข้อความและ ops ที่สามารถใช้ได้กับ TensorFlow 2.0 สามารถใช้ข้อความ TensorFlow เพื่อประมวลผลการสร้างแบบจำลองลำดับล่วงหน้าได้

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory สร้างขึ้นบน Jupyter Notebook

Estimator คือการแสดงโมเดลที่สมบูรณ์ของ TensorFlow ในระดับสูง ออกแบบมาเพื่อการปรับขนาดและการฝึกแบบอะซิงโครนัสที่ง่ายดาย

โมเดลนี้ฝึกโดยใช้ชุดข้อมูลไอริส

ตัวอย่าง

print("Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each")
classifier = tf.estimator.DNNClassifier(
   feature_columns=my_feature_columns,
   hidden_units=[30, 10],
   n_classes=3)

เครดิตโค้ด −https://www.tensorflow.org/tutorials/estimator/premade#first_things_first

ผลลัพธ์

Build a DNN that has 2 hidden layers with 30 and 10 hidden nodes each
INFO:tensorflow:Using default config.
WARNING:tensorflow:Using temporary folder as model directory: /tmp/tmpdh8866zb
INFO:tensorflow:Using config: {'_model_dir': '/tmp/tmpdh8866zb', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': allow_soft_placement: true
graph_options {
   rewrite_options {
      meta_optimizer_iterations: ONE
   }
}
, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_device_fn': None, '_protocol': None, '_eval_distribute': None, '_experimental_distribute': None, '_experimental_max_worker_delay_secs': None, '_session_creation_timeout_secs': 7200, '_checkpoint_save_graph_def': True, '_service': None, '_cluster_spec': ClusterSpec({}), '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}

คำอธิบาย

  • ปัญหาม่านตาถือเป็นปัญหาการจำแนกประเภท
  • Tensorflow มาพร้อมกับตัวประมาณการลักษณนามที่สร้างไว้ล่วงหน้าจำนวนมาก ซึ่งรวมถึง −
    • tf.estimator.DNNClassifier สำหรับโมเดลเชิงลึกซึ่งทำการจำแนกประเภทหลายคลาส
    • tf.estimator.DNNLinearCombinedClassifier สำหรับโมเดลที่กว้างและลึก
    • tf.estimator.LinearClassifier สำหรับตัวแยกประเภทตามแบบจำลองเชิงเส้น
  • สำหรับปัญหาม่านตา เราใช้ tf.estimator