Ejemplo n.º 1
0
    def test_in_interface(self):
        x_img = gr.test_data.BASE64_IMAGE

        def rgb_distribution(img):
            rgb_dist = np.mean(img, axis=(0, 1))
            rgb_dist /= np.sum(rgb_dist)
            rgb_dist = np.round(rgb_dist, decimals=2)
            return {
                "red": rgb_dist[0],
                "green": rgb_dist[1],
                "blue": rgb_dist[2],
            }

        iface = gr.Interface(rgb_distribution, "image", "label")
        output = iface.process([x_img])[0][0]
        self.assertDictEqual(
            output, {
                'label':
                'red',
                'confidences': [{
                    'label': 'red',
                    'confidence': 0.44
                }, {
                    'label': 'green',
                    'confidence': 0.28
                }, {
                    'label': 'blue',
                    'confidence': 0.28
                }]
            })
Ejemplo n.º 2
0
    def test_in_interface(self):
        def generate_noise(width, height):
            return np.random.randint(0, 256, (width, height, 3))

        iface = gr.Interface(generate_noise, ["slider", "slider"], "image")
        self.assertTrue(
            iface.process([10, 20])[0][0].startswith("data:image/png;base64"))
Ejemplo n.º 3
0
    def test_in_interface(self):
        def generate_noise(duration):
            return 8000, np.random.randint(-256, 256, (duration, 3))

        iface = gr.Interface(generate_noise, "slider", "audio")
        self.assertTrue(
            iface.process([100])[0][0].startswith("data:audio/wav;base64"))
Ejemplo n.º 4
0
    def test_in_interface(self):
        def bold_text(text):
            return "<strong>" + text + "</strong>"

        iface = gr.Interface(bold_text, "text", "html")
        self.assertEqual(
            iface.process(["test"])[0][0], "<strong>test</strong>")
Ejemplo n.º 5
0
    def test_in_interface(self):
        carousel_output = gr.outputs.Carousel(["text", "image"],
                                              label="Disease")

        def report(img):
            results = []
            for i, mode in enumerate(["Red", "Green", "Blue"]):
                color_filter = np.array([0, 0, 0])
                color_filter[i] = 1
                results.append([mode, img * color_filter])
            return results

        iface = gr.Interface(report, gr.inputs.Image(type="numpy"),
                             carousel_output)
        self.assertEqual(
            iface.process([gr.test_data.BASE64_IMAGE])[0],
            [[[
                'Red',
                'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABECAIAAAC9Laq3AAAFFElEQVR4nO3aT2gcVRzA8U+MTZq6xZBKdYvFFYyCtFq0UO3FehEUe1E8+AeaUw+C2pPiyS14UQ9tvXlroZ5EqVgrKmq8aAQjVXvQNuIWYxtLIlsSog0tehgnndmdmZ3ZXdMU8j2Et+/NvPfN2/f7vTeT9PzjquSaKy3QJiveS8uK99Ky4r20rHgvLSveS8uK99JylXlf5CKuLu8pvmUOXHuFXfJRZyI0Dlju3nNMUG+qX77ef1NjKqV1OXpfZJLJMAQTWXbeU0xkGgcso3xSZ4yfkqTnOcaLkZplMd9pwRdwjFH+ildeYe/s4MMkHyXVx9bJKLUuSmVykRpjKdKnOMw8p1Juvzzfx3kQ7KJKpauWDUxSSwm+Gd7lR7CtaXkscnm+62HhELcy8v/M/TRj6RljntdC6WxS80nX7esc5wR/J7V+wTy/p09wAy3i8hBH2MMeBvM7xskOvjE+4k9uLtJn6/x9nr1UqKanqjSygw8HeJs/C3Yr/77Thv0kYynLbCb8OZFzeDAQKRfbL3PaT6UH3zyHqTJWcJqHeCbysZ19vqX9TynBN0aVb5BbepgBHmMvd0Xq2z+ftLFy3sudLgKGGOb1cGOJctl7C9cX6TSgpf0pDvADCkrvYF1662XvQfa3pS5ifyRSOcMB3mSCySK93cbzPJ55TWydjFDjlQ7s90Q+Hi6YLjDMS7zAcKsrG9f3INUO7E9HyoWkh0LXnLtPo3eNWsf2hRjgYV4qeFej9yd8whnE7bvOAMOh8SOsKXh7o3cZnI3UDFLlV3a1L5lAkIwfyUwaGTR63085qa8KB7tkP8TzuXVLbOKmpvpG7xvYmf7QUOnMfjNPszdHuggo8T5P8FbTabSd/bJS3H4I7Oa+IgMd5VVG2d90okz2rjHdqtNKbvttBXUXORApfxYWgieGZO+v+DJf15V0+yFuoxo/x+Xnc+rsYh8oMchWSqAn8f8hxhnnoYJPxzXqbGG0LdEGXuH78MzTQzWejpPnexMlvuJCjgEO8gGosKV9z0am4r0txFuTvfvZzhxf5xhggbP83K5fIr2cDMvHwSp+DB+UZOSTCrdzkvFWY2xC03x0SC+oMUoVbGWBGr8h+jz/Pfvib3x2MMM4F9iePsZ2Ku1ue4nG/fSGsxY8MdxDmT4qrEV0vu9OemfyKGVO8DGzScNcYJoN9HdsfA1rWBNO9r2RpmepsDmUjnkvhEf1QzxHjQv0s5NNnOZdxuP2ZzjKe62EekKVjAtWc138st2UGeQtRpq+z//y4BnOMstRSuwMm9dRpp8zjIfnrRJrmWWOPu7njnino5HyKj5ljsdTslMfffQkNa1jY8rv/J/3Jf7gHJdS7g/spznNNAv0sYHbk1bIoncPb/AheJLd8ctW0Z9ivJYKfUlNMW9F7Fuy6D3Gy2G5xLGw515Wp+SyATZG1nEasfeDvWzgxhT7GWaK2OMd8ADHOU8v/7A65asPvsCceSnhdw7sN1NOGmCGE2HUZvMX37GLUUbAqqbgWxyxzJ1Fkmnq+9iWc19nPevTu/gFofEgUhZGRvBl0OI9cob9Jc5yLt0++jxfD89xUVoGXwa5/i7Vnv1saFznIFvjxuUcwdepd0B++2Cv3ghGGOQ8D6Bg8GWQfP5uSXbGDDjJU2G5zDHWs6Gt4Zpp0zugpf1uvqPEEXYUD74MOvIOyLCf5RzbuKXjURrogndAs33nwZdB17wDLvEbs10Kvgy67L1k/Asi+GhgiYdDNAAAAABJRU5ErkJggg=='
            ],
              [
                  'Green',
                  'data:image/png;base64,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'
              ],
              [
                  'Blue',
                  'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABECAIAAAC9Laq3AAAFGklEQVR4nNXaMWwbVRzH8U8RUjMU1RIDaZeeGKADKJbaIWJozRYJWrKB6NBUKoIxS8VWUlaQCFurIpEOgMoCIgUhpIqwkA61SBUGmslZAkhUSlVEG5YyHOee7bvnu/MlgZ+s5Pm987uvn/+//7t79/bw0P9Qj23/KZa5wp16O92zneO9xkKK+AVe5slaut4m7jUWWctqqoe+du47XOPHYYeNSl8j932us1jmI9Xp6+K+zjX+qvTZKvSjc9/iah3pohz9KNwB81VWUfpq3AXNV1nD6ctyVzBfZYXoS3Ff43pV81VWNn1B7mUWa5+ry6iffij3dpivsh7RB7jv8DkrO4hVRFuc5+nHs9rus8j1nUYartu0OZPJvSvmG6oNltMGS3Pvuvky9QfL/NpXG3Ovs8DGjjOFdY92XkqIuTvM8QxHeGLnwHK1xc+s8nfeEek4WWPtP0B/m+UAcaxBX+4i/QZL/JnVtI9TnOJY/D4zD9px+mzzJXqTU30YedyxdoA+ZD7wDG8N1vZxH6fDem/lNtHH5mvntB7hJO9xNLM5zT3BElhgbpvpV2nnmO8A53gRfJV3rvS6TyMpzNDhYw4NHL/GZyxxrypxh0/zM8Y+ribQIQXWq2bqpt9gke9yMsbr7OPZgj9m2JeYYZp55rnb2xRHzhGeY2+wk7D5TvAWB7ldhDjWUG40mGM2h77NKs/n0IfNh8t5zgur+Lpmgzk6vMP+3qa/afMZbbZS9atJ5aAOJH9LQT8Ky7LrsY1i9LfzzbePC3zDCQ6WOfUG5ytzx2oMo/8hx3wn+IaTKAx9k3u8x0tJmma09e9GPn2ezpXM/Ru0OcanfQ1p7hU2y3QaqzGM/giXaaEk9Cf5Vyw93HeZrYQuRf9KqvIAl/mIozxbprebnOX9wBF9cXKFiLkR6OdTb98tn+PavMobwdRJVnzf5cII9FGqXAp6I2EttFaT58sR6UvpHhd5tdRnwvkkTV+74sk/Jr6UkzdzVSQPdukXquDl6ntwKZA0Aiqev9c5UxP9BmcL4zb5kpm+2rLzzoj033Oel4ami0RNWszTSGaAR3qYnj/L6BAf83Dg1dVPqdeJSqeYTpVnk8ISD0eZ54uP/VeVHlE0ewe0kxQa8b/K451Weuy7+prLySVrBR0Gp/kAzNFipXuWWrhjHWKipq4wzv7UWMylo7HI/U5xrQ+sAlTWGGimajbTzTuwj6OaxvktKa+ADvPd5x8x93EWei8tdl0R6LCUzNYRm3zJt3qf79zq/V12SxFTPMWl1JBHnKbBdPyV+tardlfjTKWWa6IU9xTT6WFNc2/SSnJLk4ilmi4GGzRSCTjzgNbAwLX4BczxZuLUf9WNkyWW2GKFsVQXt0ambxLxAHFo9mqMSSZzVo6aTPUR93E/4AY3khP0qTJ9g/Fk2CZZ6e0/xsokjphOLVn2q++5a+30hxNojDGeREuMlXkfHUd5FO4383lxXfRd0OOscDcJ2amstVJJlDcL9Bx6zj06fUSH0ywwy4fM5oxxN8ozQjlTgXl+jBaTOfQTHA5+sa5mkERqJnQzz3wBDb0+CdDv5Xj+F9OLsplFFoXNF1CpfTOByNnKaoro8AUtIg6kbtqjpLKiKuyvKkI/Tiu5nNhPg3WmmShlvoAq72cLuzbW71xMyg3eZnLwNrGaRtw/OJT+Ch3GknWScuYLqJb9muHIafBaTsKurhr3xw7SRyOaL6Da9yM/4Fs6tZgvoG3dt76N+gfaDbBaHMV3YgAAAABJRU5ErkJggg=='
              ]]])
Ejemplo n.º 6
0
    def test_in_interface(self):
        x_img = media_data.BASE64_IMAGE

        def rgb_distribution(img):
            rgb_dist = np.mean(img, axis=(0, 1))
            rgb_dist /= np.sum(rgb_dist)
            rgb_dist = np.round(rgb_dist, decimals=2)
            return {
                "red": rgb_dist[0],
                "green": rgb_dist[1],
                "blue": rgb_dist[2],
            }

        iface = gr.Interface(rgb_distribution, "image", "label")
        output = iface.process([x_img])[0]
        self.assertDictEqual(
            output,
            {
                "label": "red",
                "confidences": [
                    {"label": "red", "confidence": 0.44},
                    {"label": "green", "confidence": 0.28},
                    {"label": "blue", "confidence": 0.28},
                ],
            },
        )
Ejemplo n.º 7
0
    def test_as_component(self):
        def write_file(content):
            with open("test.txt", "w") as f:
                f.write(content)
            return "test.txt"

        iface = gr.Interface(write_file, "text", "file")
        self.assertDictEqual(
            iface.process(["hello world"])[0],
            {
                "name": "test.txt",
                "size": 11,
                "data": "data:text/plain;base64,aGVsbG8gd29ybGQ=",
            },
        )
        file_output = gr.outputs.File()
        with tempfile.TemporaryDirectory() as tmpdirname:
            to_save = file_output.save_flagged(
                tmpdirname, "file_output", [media_data.BASE64_FILE], None
            )
            self.assertEqual("file_output/0", to_save)
            to_save = file_output.save_flagged(
                tmpdirname, "file_output", [media_data.BASE64_FILE], None
            )
            self.assertEqual("file_output/1", to_save)
Ejemplo n.º 8
0
 def test_speech_recognition_model(self):
     interface_info = gr.external.load_interface(
         "models/facebook/wav2vec2-base-960h")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     output = io("gradio/test_data/test_audio.wav")
     self.assertIsNotNone(output)
Ejemplo n.º 9
0
 def test_speech_recognition_model(self):
     interface_info = gr.external.load_interface(
         "models/jonatasgrosman/wav2vec2-large-xlsr-53-english")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     output = io("test/test_data/test_audio.wav")
     self.assertIsNotNone(output)
Ejemplo n.º 10
0
 def test_input_output_mapping(self):
     io = gr.Interface(inputs='sketchpad',
                       outputs='text',
                       fn=lambda x: x,
                       analytics_enabled=False)
     self.assertIsInstance(io.input_interfaces[0], gradio.inputs.Image)
     self.assertIsInstance(io.output_interfaces[0], gradio.outputs.Textbox)
Ejemplo n.º 11
0
 def test_numerical_to_label_space(self):
     interface_info = gr.external.load_interface(
         "spaces/abidlabs/titanic-survival")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     output = io("male", 77, 10)
     self.assertLess(output['Survives'], 0.5)
Ejemplo n.º 12
0
 def test_in_interface(self):
     checkboxes_input = gr.inputs.CheckboxGroup(["a", "b", "c"])
     iface = gr.Interface(lambda x: "|".join(x), checkboxes_input,
                          "textbox")
     self.assertEqual(iface.process([["a", "c"]])[0], ["a|c"])
     self.assertEqual(iface.process([[]])[0], [""])
     checkboxes_input = gr.inputs.CheckboxGroup(["a", "b", "c"],
                                                type="index")
     iface = gr.Interface(lambda x: "|".join(map(str, x)),
                          checkboxes_input,
                          "textbox",
                          interpretation="default")
     self.assertEqual(iface.process([["a", "c"]])[0], ["0|2"])
     scores, alternative_outputs = iface.interpret([["a", "c"]])
     self.assertEqual(scores, [[[-1, None], [None, -1], [-1, None]]])
     self.assertEqual(alternative_outputs, [[['2'], ['0|2|1'], ['0']]])
Ejemplo n.º 13
0
 def test_image_classification_model(self):
     interface_info = gr.external.load_interface(
         "models/google/vit-base-patch16-224")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     output = io("test/test_data/lion.jpg")
     self.assertGreater(output['lion'], 0.5)
Ejemplo n.º 14
0
def launch_interface(args):
    io = gradio.Interface(inputs=args.inputs,
                          outputs=args.outputs,
                          model=mdl,
                          model_type='pyfunc')
    httpd, _, _ = io.launch(share=args.share, validate=False)

    class ServiceExit(Exception):
        """
        Custom exception which is used to trigger the clean exit
        of all running threads and the main program.
        """
        pass

    def service_shutdown(signum, frame):
        print('Shutting server down due to signal {}'.format(signum))
        httpd.shutdown()
        raise ServiceExit

    signal.signal(signal.SIGTERM, service_shutdown)
    signal.signal(signal.SIGINT, service_shutdown)

    try:
        # Keep the main thread running, otherwise signals are ignored.
        while True:
            time.sleep(0.5)
    except ServiceExit:
        pass
Ejemplo n.º 15
0
 def test_in_interface(self):
     def check_odd(array):
         return array % 2 == 0
     iface = gr.Interface(check_odd, "numpy", "numpy")
     self.assertEqual(
         iface.process([[2, 3, 4]])[0][0], 
         {"data": [[True, False, True]]})
Ejemplo n.º 16
0
 def test_output_interface_is_instance(self):
     out = gradio.outputs.Label()
     io = gr.Interface(inputs='sketchpad',
                       outputs=out,
                       fn=lambda x: x,
                       analytics_enabled=False)
     self.assertEqual(io.output_interfaces[0], out)
Ejemplo n.º 17
0
 def test_input_interface_is_instance(self):
     inp = gradio.inputs.Image()
     io = gr.Interface(inputs=inp,
                       outputs='text',
                       fn=lambda x: x,
                       analytics_enabled=False)
     self.assertEqual(io.input_interfaces[0], inp)
Ejemplo n.º 18
0
 def test_in_interface(self):
     Image3D = media_data.BASE64_MODEL3D
     iface = gr.Interface(lambda x: x, "model3d", "model3d")
     self.assertEqual(
         iface.process([Image3D])[0]["data"],
         Image3D["data"].replace("@file/gltf", ""),
     )
Ejemplo n.º 19
0
    def interact(self,
                 add_residual=False,
                 source='upload',
                 label=None,
                 share=False):
        """
        Uses gradio to create a small interactive interface
        for the separation algorithm. Fair warning, there
        may be some race conditions with this...

        When you call this from a notebook, the interface will be displayed
        below the cell. When you call this from a regular Python script, you'll see a 
        link print out (a localhost link and a gradio link if you
        called this with sharing on). The sessions will last for the duration
        of the notebook or the script.

        To use this functionality, you must install gradio: `pip install gradio`.

        Args:
            add_residual: Whether or not to add the residual signal.
            source: Either "upload" (upload a file to separate), or "microphone", record.
            share: Whether or not to create a public gradio link.
            kwargs: Keyword arguments to gradio.

        Example:
        
            >>> import nussl
            >>> nussl.separation.primitive.HPSS(
            >>>     nussl.AudioSignal()).interact()

        """
        try:
            import gradio
        except:  # pragma: no cover
            raise ImportError(
                "To use this functionality, you must install gradio: "
                "pip install gradio.")

        def _separate(file_obj):  # pragma: no cover
            mix = AudioSignal(file_obj.name)
            self.audio_signal = mix
            estimates = self()
            if add_residual:
                estimates.append(mix - estimates[0])

            estimates = {f'Estimate {i}': s for i, s in enumerate(estimates)}
            html = play_utils.multitrack(estimates, ext='.mp3', display=False)

            return html

        if label is None: label = f"Separation via {type(self).__name__}"

        audio_in = gradio.inputs.Audio(source=source, type="file", label=label)

        gradio.Interface(
            fn=_separate,
            inputs=audio_in,
            outputs="html",
        ).launch(share=share)
Ejemplo n.º 20
0
 def test_sentiment_model(self):
     interface_info = gr.external.load_interface(
         "models/distilbert-base-uncased-finetuned-sst-2-english",
         alias="sentiment_classifier")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     output = io("I am happy, I love you.")
     self.assertGreater(output['POSITIVE'], 0.5)
Ejemplo n.º 21
0
 def test_text_to_image_model(self):
     interface_info = gr.external.load_interface(
         "models/osanseviero/BigGAN-deep-128")
     io = gr.Interface(**interface_info)
     io.api_mode = True
     filename = io("chest")
     self.assertTrue(
         filename.endswith(".jpg") or filename.endswith(".jpeg"))
Ejemplo n.º 22
0
 def test_show_error(self):
     io = gr.Interface(lambda x: 1 / x, "number", "number")
     app, _, _ = io.launch(show_error=True, prevent_thread_lock=True)
     client = app.test_client()
     response = client.post('/api/predict/', json={"data": [0]})
     self.assertEqual(response.status_code, 500)
     self.assertTrue("error" in response.get_json())
     io.close()
Ejemplo n.º 23
0
    def test_in_interface(self):
        x_file = gr.test_data.BASE64_FILE

        def get_size_of_file(file_obj):
            return os.path.getsize(file_obj.name)

        iface = gr.Interface(get_size_of_file, "file", "number")
        self.assertEqual(iface.process([[x_file]])[0], [10558])
Ejemplo n.º 24
0
 def test_in_interface(self):
     iface = gr.Interface(lambda x: x**2, "slider", "textbox")
     self.assertEqual(iface.process([2])[0], ['4'])
     iface = gr.Interface(lambda x: x**2,
                          "slider",
                          "textbox",
                          interpretation="default")
     scores, alternative_outputs = iface.interpret([2])
     self.assertEqual(scores, [[
         -4.0, 200.08163265306123, 812.3265306122449, 1832.7346938775513,
         3261.3061224489797, 5098.040816326531, 7342.938775510205, 9996.0
     ]])
     self.assertEqual(
         alternative_outputs,
         [[['0.0'], ['204.08163265306123'], ['816.3265306122449'],
           ['1836.7346938775513'], ['3265.3061224489797'],
           ['5102.040816326531'], ['7346.938775510205'], ['10000.0']]])
Ejemplo n.º 25
0
 def test_in_interface(self):
     iface = gr.Interface(lambda x: x**2, "number", "textbox")
     self.assertEqual(iface.process([2])[0], ['4.0'])
     iface = gr.Interface(lambda x: x**2,
                          "number",
                          "textbox",
                          interpretation="default")
     scores, alternative_outputs = iface.interpret([2])
     self.assertEqual(scores, [[(1.94, -0.23640000000000017),
                                (1.96, -0.15840000000000032),
                                (1.98, -0.07960000000000012), [2, None],
                                (2.02, 0.08040000000000003),
                                (2.04, 0.16159999999999997),
                                (2.06, 0.24359999999999982)]])
     self.assertEqual(alternative_outputs,
                      [[['3.7636'], ['3.8415999999999997'], ['3.9204'],
                        ['4.0804'], ['4.1616'], ['4.2436']]])
Ejemplo n.º 26
0
    def test_prediction(self):
        def model(x):
            return 2 * x

        io = gr.Interface(inputs='textbox',
                          outputs='text',
                          fn=model,
                          analytics_enabled=False)
        self.assertEqual(io.predict[0](11), 22)
Ejemplo n.º 27
0
def launch():
    """
    Launch gradio instance
    """
    typer.echo("Launching gradio instance")
    _, gradio_interface_url, _ = gr.Interface(
        fn=greet, inputs="text", outputs="text"
    ).launch()
    typer.launch(gradio_interface_url)
Ejemplo n.º 28
0
 def test_state_value(self):
     io = gr.Interface(lambda x: len(x), "text", "label")
     io.launch(prevent_thread_lock=True)
     app, _, _ = io.launch(prevent_thread_lock=True)
     with app.test_request_context():
         networking.set_state("test")
         client = app.test_client()
         client.post('/api/predict/', json={"data": [0]})
         self.assertEquals(networking.get_state(), "test")
Ejemplo n.º 29
0
def gradio_gui():
    """
    gradioのGui画面を定義する
    """
    image = gr.inputs.Image(label="Input Image", )
    output = gr.outputs.Image(label="Output Image", type="numpy")

    interface = gr.Interface(fn=predict, inputs=image, outputs=output)
    interface.launch()
Ejemplo n.º 30
0
    def test_image_to_image_space(self):
        def assertIsFile(path):
            if not pathlib.Path(path).resolve().is_file():
                raise AssertionError("File does not exist: %s" % str(path))

        interface_info = gr.external.load_interface(
            "spaces/abidlabs/image-identity")
        io = gr.Interface(**interface_info)
        output = io("test/test_data/lion.jpg")
        assertIsFile(output)