Пример #1
0
def get_input_fn(mode, data_files, meta_data_file):
    return plx.processing.create_input_data_fn(
        mode=mode,
        pipeline_config=TFRecordImagePipelineConfig(
            shuffle=plx.Modes.is_train(mode),
            dynamic_pad=False,
            batch_size=64 if plx.Modes.is_train(mode) else 32,
            data_files=data_files,
            meta_data_file=meta_data_file,
            feature_processors=FeatureProcessorsConfig.from_dict(
                {'image': {
                    'input_layers': [['image', 0, 0]],
                    'output_layers': [['std', 0, 0]],
                    'layers': [
                        {'Cast': {
                            'name': 'cast',
                            'dtype': 'float32',
                            'inbound_nodes': [['image', 0, 0]]
                        }},
                        {'Standardization': {
                            'name': 'std',
                            'inbound_nodes': [['cast', 0, 0]]
                        }},
                    ]
                }})
        )
    )
Пример #2
0
def create_image_dataset_predict_input_fn(dataset_dir, prepare_fn,
                                          record_file_name_format,
                                          meta_data_file_name_format):
    prepare_fn(dataset_dir)
    test_data_file = record_file_name_format.format(dataset_dir, Modes.PREDICT)
    meta_data_filename = meta_data_file_name_format.format(dataset_dir)
    test_input_fn = create_input_data_fn(
        mode=Modes.PREDICT,
        pipeline_config=TFRecordImagePipelineConfig(
            dynamic_pad=False,
            num_epochs=1,
            data_files=test_data_file,
            meta_data_file=meta_data_filename))
    return test_input_fn
Пример #3
0
 def get_pipeline_config(mode):
     return TFRecordImagePipelineConfig(
         dynamic_pad=False,
         data_files=train_data_file
         if Modes.is_train(mode) else eval_data_file,
         meta_data_file=meta_data_filename,
         feature_processors=FeatureProcessorsConfig({
             'image':
             GraphConfig(input_layers=[['image', 0, 0]],
                         output_layers=[['image_out', 0, 0]],
                         layers=[
                             CastConfig(dtype='float32',
                                        name='image_out',
                                        inbound_nodes=[['image', 0, 0]])
                         ])
         }))
Пример #4
0
    def test_tf_record_image_pipeline_config(self):
        config_dict = {
            'batch_size': 64,
            'num_epochs': 10,
            'shuffle': True,
            'data_files': ['train_data_file'],
            'meta_data_file': 'meta_data_file',
            'feature_processors': {
                'image': {
                    'input_layers': ['image'],
                    'output_layers': ['reshap_0'],
                    'layers': [{
                        'Resize': {
                            'height': 28,
                            'width': 28
                        }
                    }, {
                        'Reshape': {
                            'target_shape': [784]
                        }
                    }]
                },
            }
        }

        config = TFRecordImagePipelineConfig.from_dict(config_dict)
        config_to_dict = config.to_dict()

        assert config_to_dict['num_epochs'] == config_dict['num_epochs']
        assert config_to_dict['shuffle'] == config_dict['shuffle']
        assert config_to_dict['data_files'] == config_dict['data_files']
        assert config_to_dict['meta_data_file'] == config_dict[
            'meta_data_file']

        assert_equal_feature_processors(config_to_dict['feature_processors'],
                                        config_dict['feature_processors'])