class_docstr: Exports critique requests.
  
  - The requests will be exported to mturk/{template.name}/requests_{timestamp}.csv
  - The template Crowd HTML will be exported to mturk/{template.name}/layout_{timestamp}.html
code: def _initialize(self, field_names: Sequence[str]) -> None:
      # self._lock must be held when calling this.
      ensure_directory_exists(self._get_directory_path())
  
      hlog(
          f"Exporting Mechanical Turk layout to {self._template_filename}"
      )
      with open(self._template_filename, "w") as f:
          f.write(_render_template_crowd_html(self._template))
  
      hlog(
          f"Exporting Mechanical Turk requests to {self._requests_filename}"
      )
      with open(self._requests_filename, "w") as f:
          self._field_names = field_names
          dict_writer: csv.DictWriter = csv.DictWriter(
              f, fieldnames=field_names
          )
          dict_writer.writeheader()
  
imports: import csv
  from datetime import datetime
  import os
  from threading import Lock
  from typing import Dict, List, Sequence
  import textwrap
  import re
  from helm.common.critique_request import CritiqueQuestionTemplate, CritiqueRequest, CritiqueTaskTemplate, QuestionType
  from helm.common.general import ensure_directory_exists
  from helm.common.hierarchical_logger import hlog
label_desc: Use image node_id 3 for calling the _MechanicalTurkCritiqueRequestExporter obj's underlying member method code with example usage: obj._initialize(field_names) without return types