Skip to content

Commit 915912b

Browse files
committed
Merge branch 'main' into pr-3005
2 parents c9e19e9 + 6596815 commit 915912b

2 files changed

Lines changed: 66 additions & 73 deletions

File tree

candle-onnx/src/eval.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2102,6 +2102,7 @@ fn simple_eval_(
21022102
let hard_sigmoid = candle_nn::ops::hard_sigmoid(&input)?;
21032103
let output = input * hard_sigmoid;
21042104
values.insert(node.output[0].clone(), output?);
2105+
}
21052106
"Resize" => {
21062107
let input = get(&node.input[0])?;
21072108

@@ -2370,7 +2371,6 @@ fn simple_eval_(
23702371
values.insert(node.output[0].clone(), output);
23712372
}
23722373
op_type => bail!("unsupported op_type {op_type} for op {node:?}"),
2373-
23742374
}
23752375
}
23762376
graph

candle-onnx/tests/ops.rs

Lines changed: 65 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -6250,85 +6250,78 @@ fn test_sign_operation() -> Result<()> {
62506250
#[test]
62516251
fn test_hard_swish() -> candle::Result<()> {
62526252
{
6253-
let manual_graph = create_model_proto_with_graph(Some(GraphProto {
6254-
node: vec![NodeProto {
6255-
op_type: "HardSwish".to_string(),
6256-
input: vec![INPUT_X.to_string()],
6257-
output: vec![OUTPUT_Z.to_string()],
6258-
..Default::default()
6259-
}],
6260-
input: vec![ValueInfoProto {
6261-
name: INPUT_X.to_string(),
6262-
..Default::default()
6263-
}],
6264-
output: vec![ValueInfoProto {
6265-
name: OUTPUT_Z.to_string(),
6253+
let manual_graph = create_model_proto_with_graph(Some(GraphProto {
6254+
node: vec![NodeProto {
6255+
op_type: "HardSwish".to_string(),
6256+
input: vec![INPUT_X.to_string()],
6257+
output: vec![OUTPUT_Z.to_string()],
6258+
..Default::default()
6259+
}],
6260+
input: vec![ValueInfoProto {
6261+
name: INPUT_X.to_string(),
6262+
..Default::default()
6263+
}],
6264+
output: vec![ValueInfoProto {
6265+
name: OUTPUT_Z.to_string(),
6266+
..Default::default()
6267+
}],
62666268
..Default::default()
6267-
}],
6268-
..Default::default()
6269-
}));
6270-
let input_data = vec![-4.0f32, -3.0, 0.0, 2.0, 3.0, 5.0];
6271-
let input_tensor = Tensor::from_vec(input_data.clone(), (input_data.len(),), &Device::Cpu)?;
6272-
let mut inputs = HashMap::new();
6273-
inputs.insert(INPUT_X.to_string(), input_tensor);
6274-
6275-
let outputs = simple_eval(&manual_graph, inputs)?;
6276-
let output = outputs.get(OUTPUT_Z).expect("missing output Z");
6277-
let output_vec = output.to_vec1::<f32>()?;
6278-
6279-
let expected = vec![
6280-
0.0,
6281-
0.0,
6282-
0.0,
6283-
1.6666666,
6284-
3.0,
6285-
5.0,
6286-
];
6287-
6288-
for (i, (got, exp)) in output_vec.iter().zip(expected.iter()).enumerate() {
6289-
let diff = (got - exp).abs();
6290-
assert!(
6291-
diff < 1e-4,
6292-
"Mismatch at index {i}: got {got}, expected {exp}, diff={diff}"
6293-
);
6294-
}
6269+
}));
6270+
let input_data = vec![-4.0f32, -3.0, 0.0, 2.0, 3.0, 5.0];
6271+
let input_tensor = Tensor::from_vec(input_data.clone(), (input_data.len(),), &Device::Cpu)?;
6272+
let mut inputs = HashMap::new();
6273+
inputs.insert(INPUT_X.to_string(), input_tensor);
6274+
6275+
let outputs = simple_eval(&manual_graph, inputs)?;
6276+
let output = outputs.get(OUTPUT_Z).expect("missing output Z");
6277+
let output_vec = output.to_vec1::<f32>()?;
6278+
6279+
let expected = vec![0.0, 0.0, 0.0, 1.6666666, 3.0, 5.0];
6280+
6281+
for (i, (got, exp)) in output_vec.iter().zip(expected.iter()).enumerate() {
6282+
let diff = (got - exp).abs();
6283+
assert!(
6284+
diff < 1e-4,
6285+
"Mismatch at index {i}: got {got}, expected {exp}, diff={diff}"
6286+
);
6287+
}
62956288
}
62966289
{
6297-
let manual_graph = create_model_proto_with_graph(Some(GraphProto {
6298-
node: vec![NodeProto {
6299-
op_type: "HardSwish".to_string(),
6300-
input: vec![INPUT_X.to_string()],
6301-
output: vec![OUTPUT_Z.to_string()],
6302-
..Default::default()
6303-
}],
6304-
input: vec![ValueInfoProto {
6305-
name: INPUT_X.to_string(),
6306-
..Default::default()
6307-
}],
6308-
output: vec![ValueInfoProto {
6309-
name: OUTPUT_Z.to_string(),
6290+
let manual_graph = create_model_proto_with_graph(Some(GraphProto {
6291+
node: vec![NodeProto {
6292+
op_type: "HardSwish".to_string(),
6293+
input: vec![INPUT_X.to_string()],
6294+
output: vec![OUTPUT_Z.to_string()],
6295+
..Default::default()
6296+
}],
6297+
input: vec![ValueInfoProto {
6298+
name: INPUT_X.to_string(),
6299+
..Default::default()
6300+
}],
6301+
output: vec![ValueInfoProto {
6302+
name: OUTPUT_Z.to_string(),
6303+
..Default::default()
6304+
}],
63106305
..Default::default()
6311-
}],
6312-
..Default::default()
6313-
}));
6314-
let input_data = vec![-4.0f32, -2.0, 0.0, 2.0, 4.0];
6315-
let input_tensor = Tensor::from_vec(input_data.clone(), (input_data.len(),), &Device::Cpu)?;
6316-
let mut inputs = HashMap::new();
6317-
inputs.insert(INPUT_X.to_string(), input_tensor);
6306+
}));
6307+
let input_data = vec![-4.0f32, -2.0, 0.0, 2.0, 4.0];
6308+
let input_tensor = Tensor::from_vec(input_data.clone(), (input_data.len(),), &Device::Cpu)?;
6309+
let mut inputs = HashMap::new();
6310+
inputs.insert(INPUT_X.to_string(), input_tensor);
63186311

6319-
let outputs = simple_eval(&manual_graph, inputs)?;
6320-
let output = outputs.get(OUTPUT_Z).expect("missing output Z");
6321-
let output_vec = output.to_vec1::<f32>()?;
6312+
let outputs = simple_eval(&manual_graph, inputs)?;
6313+
let output = outputs.get(OUTPUT_Z).expect("missing output Z");
6314+
let output_vec = output.to_vec1::<f32>()?;
63226315

6323-
let expected = vec![0.0, -0.33333334, 0.0, 1.6666667, 4.0 ];
6316+
let expected = vec![0.0, -0.33333334, 0.0, 1.6666667, 4.0];
63246317

6325-
for (i, (got, exp)) in output_vec.iter().zip(expected.iter()).enumerate() {
6326-
let diff = (got - exp).abs();
6327-
assert!(
6328-
diff < 1e-4,
6329-
"Mismatch at index {i}: got {got}, expected {exp}, diff={diff}"
6330-
);
6331-
}
6318+
for (i, (got, exp)) in output_vec.iter().zip(expected.iter()).enumerate() {
6319+
let diff = (got - exp).abs();
6320+
assert!(
6321+
diff < 1e-4,
6322+
"Mismatch at index {i}: got {got}, expected {exp}, diff={diff}"
6323+
);
6324+
}
63326325
}
63336326
Ok(())
63346327
}

0 commit comments

Comments
 (0)