Ejemplo n.º 1
0
def get_scalars():
    """Get scalar data for given train_ids and tags."""
    train_ids = request.args.getlist('train_id')
    tags = request.args.getlist('tag')

    processor = ScalarsProcessor(DATA_MANAGER)
    scalars = processor.get_scalars(train_ids, tags)
    return jsonify({'scalars': scalars})
    def test_get_metadata_list_with_not_exist_id(self):
        """Get metadata list with not exist id."""
        test_train_id = 'not_exist_id'
        scalar_processor = ScalarsProcessor(self._mock_data_manager)
        with pytest.raises(TrainJobNotExistError) as exc_info:
            scalar_processor.get_metadata_list(test_train_id, self._tag_name)

        assert exc_info.value.error_code == '50545005'
        assert exc_info.value.message == "Train job is not exist. Detail: Can not find the given train job in cache."
Ejemplo n.º 3
0
    def test_get_metadata_list_with_not_exist_id(self, load_scalar_record):
        """Get metadata list with not exist id."""
        test_train_id = 'not_exist_id'
        scalar_processor = ScalarsProcessor(self._mock_data_manager)
        with pytest.raises(ParamValueError) as exc_info:
            scalar_processor.get_metadata_list(test_train_id, self._tag_name)

        assert exc_info.value.error_code == '50540002'
        assert "Can not find any data in loader pool about the train job." in exc_info.value.message
    def test_get_metadata_list_with_not_exist_tag(self):
        """Get metadata list with not exist tag."""
        test_tag_name = 'not_exist_tag_name'

        scalar_processor = ScalarsProcessor(self._mock_data_manager)

        with pytest.raises(ScalarNotExistError) as exc_info:
            scalar_processor.get_metadata_list(self._train_id, test_tag_name)

        assert exc_info.value.error_code == '5054500E'
        assert "Can not find any data in this train job by given tag." in exc_info.value.message
    def test_get_scalars(self):
        """Get scalars success."""
        scalar_processor = ScalarsProcessor(self._mock_data_manager)
        scalars = scalar_processor.get_scalars([self._train_id], [self._complete_tag_name])
        scalar = scalars[0]

        assert scalar['train_id'] == self._train_id
        assert scalar['tag'] == self._complete_tag_name

        for recv_values, expected_values in zip(scalar['values'], self._scalars_metadata):
            assert recv_values.get('wall_time') == expected_values.get('wall_time')
            assert recv_values.get('step') == expected_values.get('step')
            assert abs(recv_values.get('value') - expected_values.get('value')) < 1e-6
    def test_get_metadata_list_success(self):
        """Get metadata list success."""
        test_tag_name = self._complete_tag_name

        scalar_processor = ScalarsProcessor(self._mock_data_manager)
        results = scalar_processor.get_metadata_list(self._train_id, test_tag_name)

        recv_metadata = results.get('metadatas')

        for recv_values, expected_values in zip(recv_metadata, self._scalars_metadata):
            assert recv_values.get('wall_time') == expected_values.get('wall_time')
            assert recv_values.get('step') == expected_values.get('step')
            assert abs(recv_values.get('value') - expected_values.get('value')) < 1e-6
Ejemplo n.º 7
0
def scalar_metadata():
    """
    Interface to fetch metadata about the scalars for the particular run and tag.

    Returns:
        Response, which contains a list in JSON containing scalar events, each
            one of which is an object containing items' wall_time, step and value.
    """
    tag = request.args.get("tag")
    train_id = get_train_id(request)

    processor = ScalarsProcessor(DATA_MANAGER)
    response = processor.get_metadata_list(train_id, tag)

    metadatas = response['metadatas']
    for metadata in metadatas:
        value = metadata.get("value")
        metadata["value"] = if_nan_inf_to_none('scalar_value', value)

    return jsonify(response)