Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
del nn_spec.int64ClassLabels.vector[:]
for c in class_labels:
nn_spec.int64ClassLabels.vector.append(c)
else:
nn_spec.ClearField('stringClassLabels')
probOutput.type.dictionaryType.stringKeyType.MergeFromString(b'')
classLabel.type.stringType.MergeFromString(b'')
del nn_spec.stringClassLabels.vector[:]
for c in class_labels:
nn_spec.stringClassLabels.vector.append(c)
prob_name = self.target + 'Probability'
label_name = self.target
old_output_name = nn_spec.layers[-1].name
coremltools.models.utils.rename_feature(spec, 'classLabel', label_name)
coremltools.models.utils.rename_feature(spec, old_output_name, prob_name)
if nn_spec.layers[-1].name == old_output_name:
nn_spec.layers[-1].name = prob_name
if nn_spec.labelProbabilityLayerName == old_output_name:
nn_spec.labelProbabilityLayerName = prob_name
coremltools.models.utils.rename_feature(spec, 'data', self.feature)
if len(nn_spec.preprocessing) > 0:
nn_spec.preprocessing[0].featureName = self.feature
mlmodel = coremltools.models.MLModel(spec)
model_type = 'image classifier (%s)' % self.model
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[prob_name] = 'Prediction probabilities'
mlmodel.output_description[label_name] = 'Class label of top prediction'
model_metadata = {
probOutput.type.dictionaryType.stringKeyType.MergeFromString(b'')
classLabel.type.stringType.MergeFromString(b'')
del nn_spec.stringClassLabels.vector[:]
for c in class_labels:
nn_spec.stringClassLabels.vector.append(c)
prob_name = self.target + 'Probability'
label_name = self.target
old_output_name = nn_spec.layers[-1].name
coremltools.models.utils.rename_feature(spec, 'classLabel', label_name)
coremltools.models.utils.rename_feature(spec, old_output_name, prob_name)
if nn_spec.layers[-1].name == old_output_name:
nn_spec.layers[-1].name = prob_name
if nn_spec.labelProbabilityLayerName == old_output_name:
nn_spec.labelProbabilityLayerName = prob_name
coremltools.models.utils.rename_feature(spec, 'data', self.feature)
if len(nn_spec.preprocessing) > 0:
nn_spec.preprocessing[0].featureName = self.feature
mlmodel = coremltools.models.MLModel(spec)
model_type = 'image classifier (%s)' % self.model
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[prob_name] = 'Prediction probabilities'
mlmodel.output_description[label_name] = 'Class label of top prediction'
model_metadata = {
'model': self.model,
'target': self.target,
'features': self.feature,
'max_iterations': str(self.max_iterations),
}
mlmodel.input_description['lstm_h_in'] = 'LSTM hidden state input'
mlmodel.input_description['lstm_c_in'] = 'LSTM cell state input'
mlmodel.output_description[prob_name] = 'Activity prediction probabilities'
mlmodel.output_description['classLabel'] = 'Class label of top prediction'
mlmodel.output_description['lstm_h_out'] = 'LSTM hidden state output'
mlmodel.output_description['lstm_c_out'] = 'LSTM cell state output'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
'prediction_window': str(self.prediction_window),
'session_id': self.session_id,
'target': self.target,
'features': ','.join(self.features),
'max_iterations': str(self.max_iterations),
}, version=ActivityClassifier._PYTHON_ACTIVITY_CLASSIFIER_VERSION)
spec = mlmodel.get_spec()
_cmt.models.utils.rename_feature(spec, 'classLabel', label_name)
_cmt.models.utils.rename_feature(spec, 'lstm_h_in', 'hiddenIn')
_cmt.models.utils.rename_feature(spec, 'lstm_c_in', 'cellIn')
_cmt.models.utils.rename_feature(spec, 'lstm_h_out', 'hiddenOut')
_cmt.models.utils.rename_feature(spec, 'lstm_c_out', 'cellOut')
_cmt.utils.save_spec(spec, filename)
classLabel.type.int64Type.MergeFromString(b'')
del nn_spec.int64ClassLabels.vector[:]
for c in class_labels:
nn_spec.int64ClassLabels.vector.append(c)
else:
nn_spec.ClearField('stringClassLabels')
probOutput.type.dictionaryType.stringKeyType.MergeFromString(b'')
classLabel.type.stringType.MergeFromString(b'')
del nn_spec.stringClassLabels.vector[:]
for c in class_labels:
nn_spec.stringClassLabels.vector.append(c)
prob_name = self.target + 'Probability'
label_name = self.target
old_output_name = nn_spec.layers[-1].name
coremltools.models.utils.rename_feature(spec, 'classLabel', label_name)
coremltools.models.utils.rename_feature(spec, old_output_name, prob_name)
if nn_spec.layers[-1].name == old_output_name:
nn_spec.layers[-1].name = prob_name
if nn_spec.labelProbabilityLayerName == old_output_name:
nn_spec.labelProbabilityLayerName = prob_name
coremltools.models.utils.rename_feature(spec, 'data', self.feature)
if len(nn_spec.preprocessing) > 0:
nn_spec.preprocessing[0].featureName = self.feature
mlmodel = coremltools.models.MLModel(spec)
model_type = 'image classifier (%s)' % self.model
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[prob_name] = 'Prediction probabilities'
mlmodel.output_description[label_name] = 'Class label of top prediction'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
builder.add_elementwise('v^2-2vu+u^2', mode='ADD',
input_names=['v^2-2vu', 'u^2'],
output_name='v^2-2vu+u^2')
# v^2-2vu+u^2=(v-u)^2 is non-negative but some computations on GPU may result in
# small negative values. Apply RELU so we don't take the square root of negative values.
builder.add_activation('relu', non_linearity='RELU',
input_name='v^2-2vu+u^2', output_name='relu')
builder.add_unary('sqrt', mode='sqrt', input_name='relu', output_name=output_name)
# Finalize model
if self.model != 'VisionFeaturePrint_Scene':
builder.set_input([input_name], [self.input_image_shape])
builder.set_output([output_name], [(num_examples,)])
_cmt.models.utils.rename_feature(builder.spec, input_name, self.feature)
builder.set_pre_processing_parameters(image_input_names=self.feature)
mlmodel = _cmt.models.MLModel(builder.spec)
else:
top_spec.pipeline.models.extend([builder.spec])
mlmodel = _cmt.models.MLModel(top_spec)
# Add metadata
model_type = 'image similarity'
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[output_name] = u'Distances between the input and reference images'
model_metadata = {
'model': self.model,
'num_examples': str(self.num_examples),
}
builder.add_elementwise('v^2-2vu+u^2', mode='ADD',
input_names=['v^2-2vu', 'u^2'],
output_name='v^2-2vu+u^2')
# v^2-2vu+u^2=(v-u)^2 is non-negative but some computations on GPU may result in
# small negative values. Apply RELU so we don't take the square root of negative values.
builder.add_activation('relu', non_linearity='RELU',
input_name='v^2-2vu+u^2', output_name='relu')
builder.add_unary('sqrt', mode='sqrt', input_name='relu', output_name=output_name)
# Finalize model
if self.model != 'VisionFeaturePrint_Scene':
_mxnet_converter._set_input_output_layers(builder, [input_name], [output_name])
builder.set_input([input_name], [self.input_image_shape])
builder.set_output([output_name], [(num_examples,)])
_cmt.models.utils.rename_feature(builder.spec, input_name, self.feature)
builder.set_pre_processing_parameters(image_input_names=self.feature)
mlmodel = _cmt.models.MLModel(builder.spec)
else:
top_spec.pipeline.models.extend([builder.spec])
mlmodel = _cmt.models.MLModel(top_spec)
# Add metadata
model_type = 'image similarity'
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[output_name] = u'Distances between the input and reference images'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
'model': self.model,
'num_examples': str(self.num_examples)
}, version=ImageSimilarityModel._PYTHON_IMAGE_SIMILARITY_VERSION)
mlmodel.input_description['features'] = u'Window \xd7 [%s]' % features_str
mlmodel.input_description['lstm_h_in'] = 'LSTM hidden state input'
mlmodel.input_description['lstm_c_in'] = 'LSTM cell state input'
mlmodel.output_description[prob_name] = 'Activity prediction probabilities'
mlmodel.output_description['classLabel'] = 'Class label of top prediction'
mlmodel.output_description['lstm_h_out'] = 'LSTM hidden state output'
mlmodel.output_description['lstm_c_out'] = 'LSTM cell state output'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
'prediction_window': str(self.prediction_window),
'session_id': self.session_id,
'target': self.target,
'features': ','.join(self.features),
'max_iterations': str(self.max_iterations),
}, version=ActivityClassifier._PYTHON_ACTIVITY_CLASSIFIER_VERSION)
spec = mlmodel.get_spec()
_cmt.models.utils.rename_feature(spec, 'classLabel', label_name)
_cmt.models.utils.rename_feature(spec, 'lstm_h_in', 'hiddenIn')
_cmt.models.utils.rename_feature(spec, 'lstm_c_in', 'cellIn')
_cmt.models.utils.rename_feature(spec, 'lstm_h_out', 'hiddenOut')
_cmt.models.utils.rename_feature(spec, 'lstm_c_out', 'cellOut')
_cmt.utils.save_spec(spec, filename)
mlmodel.input_description['features'] = u'Window \xd7 [%s]' % features_str
mlmodel.input_description['lstm_h_in'] = 'LSTM hidden state input'
mlmodel.input_description['lstm_c_in'] = 'LSTM cell state input'
mlmodel.output_description[prob_name] = 'Activity prediction probabilities'
mlmodel.output_description['classLabel'] = 'Class label of top prediction'
mlmodel.output_description['lstm_h_out'] = 'LSTM hidden state output'
mlmodel.output_description['lstm_c_out'] = 'LSTM cell state output'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
'prediction_window': str(self.prediction_window),
'session_id': self.session_id,
'target': self.target,
'features': ','.join(self.features),
'max_iterations': str(self.max_iterations),
}, version=ActivityClassifier._PYTHON_ACTIVITY_CLASSIFIER_VERSION)
spec = mlmodel.get_spec()
_cmt.models.utils.rename_feature(spec, 'classLabel', label_name)
_cmt.models.utils.rename_feature(spec, 'lstm_h_in', 'hiddenIn')
_cmt.models.utils.rename_feature(spec, 'lstm_c_in', 'cellIn')
_cmt.models.utils.rename_feature(spec, 'lstm_h_out', 'hiddenOut')
_cmt.models.utils.rename_feature(spec, 'lstm_c_out', 'cellOut')
_cmt.utils.save_spec(spec, filename)
probOutput.type.dictionaryType.stringKeyType.MergeFromString(b'')
classLabel.type.stringType.MergeFromString(b'')
del nn_spec.stringClassLabels.vector[:]
for c in class_labels:
nn_spec.stringClassLabels.vector.append(c)
prob_name = self.target + 'Probability'
label_name = self.target
old_output_name = nn_spec.layers[-1].name
coremltools.models.utils.rename_feature(spec, 'classLabel', label_name)
coremltools.models.utils.rename_feature(spec, old_output_name, prob_name)
if nn_spec.layers[-1].name == old_output_name:
nn_spec.layers[-1].name = prob_name
if nn_spec.labelProbabilityLayerName == old_output_name:
nn_spec.labelProbabilityLayerName = prob_name
coremltools.models.utils.rename_feature(spec, 'data', self.feature)
if len(nn_spec.preprocessing) > 0:
nn_spec.preprocessing[0].featureName = self.feature
mlmodel = coremltools.models.MLModel(spec)
model_type = 'image classifier (%s)' % self.model
mlmodel.short_description = _coreml_utils._mlmodel_short_description(model_type)
mlmodel.input_description[self.feature] = u'Input image'
mlmodel.output_description[prob_name] = 'Prediction probabilities'
mlmodel.output_description[label_name] = 'Class label of top prediction'
_coreml_utils._set_model_metadata(mlmodel, self.__class__.__name__, {
'model': self.model,
'target': self.target,
'features': self.feature,
'max_iterations': str(self.max_iterations),
}, version=ImageClassifier._PYTHON_IMAGE_CLASSIFIER_VERSION)