Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

TensorFlow có thể được sử dụng để khởi tạo estimator bằng Python như thế nào?


Một estimator có thể được khởi tạo bằng TensorFlow bằng cách sử dụng phương thức 'DNNClassifier' có trong lớp 'estimator' của thư viện TensorFlow.

Đọc thêm: TensorFlow là gì và Keras hoạt động như thế nào với TensorFlow để tạo mạng nơ-ron?

Chúng ta sẽ sử dụng Keras Sequential API, giúp xây dựng mô hình tuần tự dùng cho stack các layer đơn giản, nơi mỗi layer có chính xác một input tensor và một output tensor.

Một mạng nơ-ron chứa ít nhất một layer được gọi là layer tích chập. Chúng ta có thể sử dụng Mạng nơ-ron tích chập (CNN) để xây dựng mô hình học.

TensorFlow Text chứa tập hợp các lớp và ops liên quan đến văn bản có thể được sử dụng với TensorFlow 2.0. TensorFlow Text có thể được dùng để tiền xử lý sequence modelling.

Chúng ta đang sử dụng Google Colaboratory để chạy mã dưới đây. Google Colab giúp chạy mã Python trên trình duyệt và yêu cầu cấu hình zero và truy cập miễn phí GPU. Colaboratory được xây dựng dựa trên Jupyter Notebook.

Một Estimator là biểu diễn cấp cao của TensorFlow cho một mô hình hoàn chỉnh. Nó được thiết kế để dễ dàng mở rộng và huấn luyện bất đồng bộ.

Mô hình được huấn luyện sử dụng bộ dữ liệu iris.

Ví dụ

print("Xây dựng DNN có 2 hidden layers với 30 và 10 hidden nodes mỗi layer")
classifier = tf.estimator.DNNClassifier(
    feature_columns=my_feature_columns,
    hidden_units=[30, 10],
    n_classes=3)

Nguồn mã: https://www.tensorflow.org/tutorials/estimator/premade#first_things_first

Đầu ra

Xây dựng DNN có 2 hidden layers với 30 và 10 hidden nodes mỗi layer
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}

Giải thích

  • Vấn đề Iris được coi là bài toán phân loại.
  • TensorFlow đi kèm nhiều pre-made classifier Estimators, bao gồm:
    • tf.estimator.DNNClassifier cho mô hình sâu thực hiện phân loại đa lớp.
    • tf.estimator.DNNLinearCombinedClassifier cho mô hình wide & deep.
    • tf.estimator.LinearClassifier cho classifier dựa trên mô hình tuyến tính.
  • Cho bài toán Iris, chúng ta sử dụng tf.estimator.