Возможно ли, чтобы SageMaker выводил Objective Metrics во время учебной работы?

Этот вопрос имеет много, много дубликатов, включая вопросы, не упоминающие библиотеку утверждения Chai. Вот основные сведения, собранные вместе:

Утверждение должно вызывать функцию, а не сразу оценивать.

assert.throws(x.y.z);      
   // FAIL.  x.y.z throws an exception, which immediately exits the
   // enclosing block, so assert.throw() not called.
assert.throws(()=>x.y.z);  
   // assert.throw() is called with a function, which only throws
   // when assert.throw executes the function.
assert.throws(function () { x.y.z });   
   // if you cannot use ES6 at work
function badReference() { x.y.z }; assert.throws(badReference);  
   // for the verbose
assert.throws(()=>model.get(z));  
   // the specific example given.
homegrownAssertThrows(model.get, z);
   //  a style common in Python, but not in JavaScript

Вы можете проверить наличие определенных ошибок с помощью любой библиотеки утверждений:

Узел

  assert.throws(() => x.y.z);
  assert.throws(() => x.y.z, ReferenceError);
  assert.throws(() => x.y.z, ReferenceError, /is not defined/);
  assert.throws(() => x.y.z, /is not defined/);
  assert.doesNotThrow(() => 42);
  assert.throws(() => x.y.z, Error);
  assert.throws(() => model.get.z, /Property does not exist in model schema./)

Должен

  should.throws(() => x.y.z);
  should.throws(() => x.y.z, ReferenceError);
  should.throws(() => x.y.z, ReferenceError, /is not defined/);
  should.throws(() => x.y.z, /is not defined/);
  should.doesNotThrow(() => 42);
  should.throws(() => x.y.z, Error);
  should.throws(() => model.get.z, /Property does not exist in model schema./)

Chai Expect

  expect(() => x.y.z).to.throw();
  expect(() => x.y.z).to.throw(ReferenceError);
  expect(() => x.y.z).to.throw(ReferenceError, /is not defined/);
  expect(() => x.y.z).to.throw(/is not defined/);
  expect(() => 42).not.to.throw();
  expect(() => x.y.z).to.throw(Error);
  expect(() => model.get.z).to.throw(/Property does not exist in model schema./);

Вы должны обрабатывать исключения, которые «выходят» из теста

it('should handle escaped errors', function () {
  try {
    expect(() => x.y.z).not.to.throw(RangeError);
  } catch (err) {
    expect(err).to.be.a(ReferenceError);
  }
});

Это может показаться запутанным вначале. Как ездить на велосипеде, он просто «нажимает» навсегда, как только нажимает.

3
задан Lynx 13 July 2018 в 21:18
поделиться

1 ответ

Спасибо за предложение! Мы будем учитывать ваши отзывы в нашем планировании дорожной карты и соответственно расставить приоритеты этой функции. Как всегда, мы доставляем функцию так быстро, как только можем, если видим сильные потребности клиента в ней.

Спасибо за использование Amazon Sagemaker !!!

2
ответ дан Udit Bhatia 17 August 2018 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: