Skip to content

Commit

Permalink
fix: Update codeowners (microsoft#1092)
Browse files Browse the repository at this point in the history
  • Loading branch information
memoryz committed Jun 19, 2021
1 parent 725a92d commit 1e4f8cd
Showing 1 changed file with 30 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package com.microsoft.ml.spark.explainers

import com.microsoft.ml.spark.core.test.base.TestBase
import com.microsoft.ml.spark.core.test.fuzzing.{TestObject, TransformerFuzzing}
import com.microsoft.ml.spark.downloader.ModelSchema
import com.microsoft.ml.spark.explainers.BreezeUtils._
import com.microsoft.ml.spark.image.{ImageFeaturizer, NetworkUtils}
import com.microsoft.ml.spark.io.IOImplicits._
Expand All @@ -19,36 +20,15 @@ import java.io.File
import java.net.URL

abstract class ImageExplainersSuite extends TestBase with NetworkUtils {
val resNetTransformer: ImageFeaturizer = resNetModel()
val cnn: ModelSchema = modelDownloader.downloadByName("CNN")
val model: ImageFeaturizer = new ImageFeaturizer()
.setInputCol(inputCol)
.setOutputCol(outputCol)
.setModel(cnn)
.setCutOutputLayers(0)
.setInputCol("image")
.setMiniBatchSize(1)

val shap: ImageSHAP = LocalExplainer.KernelSHAP.image
.setModel(resNetTransformer)
.setTargetCol(resNetTransformer.getOutputCol)
.setTargetClasses(Array(172))
.setOutputCol("weights")
.setSuperpixelCol("superpixels")
.setMetricsCol("r2")
.setInputCol("image")
.setCellSize(120.0)
.setModifier(20.0)
.setNumSamples(8)

val lime: ImageLIME = LocalExplainer.LIME.image
.setModel(resNetTransformer)
.setTargetCol(resNetTransformer.getOutputCol)
.setSamplingFraction(0.7)
.setTargetClasses(Array(172))
.setOutputCol("weights")
.setSuperpixelCol("superpixels")
.setMetricsCol("r2")
.setInputCol("image")
.setCellSize(120.0)
.setModifier(20.0)
.setNumSamples(3)

lazy val greyhoundImageLocation: String = {
val loc = "/tmp/greyhound.jpg"
val f = new File(loc)
Expand All @@ -66,6 +46,17 @@ class ImageSHAPExplainerSuite extends ImageExplainersSuite
with TransformerFuzzing[ImageSHAP] {

import spark.implicits._
val shap: ImageSHAP = LocalExplainer.KernelSHAP.image
.setModel(model)
.setTargetCol(model.getOutputCol)
.setTargetClasses(Array(0))
.setOutputCol("weights")
.setSuperpixelCol("superpixels")
.setMetricsCol("r2")
.setInputCol("image")
.setCellSize(120.0)
.setModifier(20.0)
.setNumSamples(8)

test("ImageKernelSHAP can explain a model locally") {
val (image, superpixels, shapValues, r2) = shap
Expand Down Expand Up @@ -98,6 +89,19 @@ class ImageLIMEExplainerSuite extends ImageExplainersSuite

import spark.implicits._

val lime: ImageLIME = LocalExplainer.LIME.image
.setModel(model)
.setTargetCol(model.getOutputCol)
.setSamplingFraction(0.7)
.setTargetClasses(Array(0))
.setOutputCol("weights")
.setSuperpixelCol("superpixels")
.setMetricsCol("r2")
.setInputCol("image")
.setCellSize(120.0)
.setModifier(20.0)
.setNumSamples(3)

test("ImageLIME can explain a model locally for image type observation") {
val (image, superpixels, weights, r2) = lime
.transform(imageDf)
Expand Down

0 comments on commit 1e4f8cd

Please sign in to comment.