示例#1
0
    def add_image(self, tag, img, step):
        summary = Summary()
        bio = BytesIO()

        if type(img) == str:
            img = PIL.Image.open(img)
        elif type(img) == PIL.Image.Image:
            pass
        else:
            img = PIL.Image.fromarray(img)

        img.save(bio, format="png")
        image_summary = Summary.Image(encoded_image_string=bio.getvalue())
        summary.value.add(tag=tag, image=image_summary)
        self.summary_writer.add_summary(summary, global_step=step)
示例#2
0
    def image_summary(self, tag, value, step):
        for idx, img in enumerate(value):
            summary = Summary()
            bio = BytesIO()

            if type(img) == str:
                img = PIL.Image.open(img)
            elif type(img) == PIL.Image.Image:
                pass
            else:
                img = scipy.misc.toimage(img)

            img.save(bio, format="png")
            image_summary = Summary.Image(encoded_image_string=bio.getvalue())
            summary.value.add(tag=f"{tag}/{idx}", image=image_summary)
            self.summary_writer.add_summary(summary, global_step=step)
    def add_image(self, tag, img, step):
        summary = Summary()
        bio = BytesIO()

        if type(img) == str:
            img = Image.open(img)
        elif type(img) == Image.Image:
            pass
        else:
            img = Image.fromarray(img)  #scipy.misc.toimage(img)

        if img.mode == "F":
            img = img.convert('RGB')

        img.save(bio, format="png")
        image_summary = Summary.Image(encoded_image_string=bio.getvalue())
        summary.value.add(tag=tag, image=image_summary)
        self.summary_writer.add_summary(summary, global_step=step)
示例#4
0
    def image_summary(self, tag, value, step):
        for idx, img in enumerate(value):
            summary = Summary()  ##for creating  image summary for model
            bio = BytesIO()  ##for converting image to encoded form (binary)

            if type(img) == str:  ##url to image
                img = PIL.Image.open(img)  ##open the image
            elif type(
                    img
            ) == PIL.Image.Image:  ##Image class of PIL(directly an image)
                pass
            else:
                img = scipy.misc.toimage(
                    img)  ##Takes a numpy array and returns a PIL image.

            img.save(bio, format="png")
            image_summary = Summary.Image(encoded_image_string=bio.getvalue()
                                          )  ##binary encoded string for images
            summary.value.add(tag=f"{tag}/{idx}", image=image_summary)
            self.summary_writer.add_summary(
                summary, global_step=step)  ##image summary with tag for model
示例#5
0
    def add_mpl_plot(self, tag, fig, global_step):
        if self.__show_mpl:
            import matplotlib.pyplot as plt
            plt.show()
        else:
            from PIL import Image
            import io
            fig.canvas.draw()

            pil_image = Image.frombytes('RGB', fig.canvas.get_width_height(),
                                        fig.canvas.tostring_rgb())

            output = io.BytesIO()
            pil_image.save(output, format='PNG')
            pil_image_string = output.getvalue()
            output.close()
            img_summary = Summary.Image(height=pil_image.height,
                                        width=pil_image.width,
                                        colorspace=3,
                                        encoded_image_string=pil_image_string)
            summary = Summary(
                value=[Summary.Value(tag=_clean_tag(tag), image=img_summary)])
            self.file_writer.add_summary(summary, global_step=global_step)
示例#6
0
 def add_scalar(self, tag, value, step):
     summary = Summary(value=[Summary.Value(tag=tag, simple_value=value)])
     self.summary_writer.add_summary(summary, global_step=step)
示例#7
0
 def scalar_summary(
     self, tag, value, step
 ):  ##to save various summary(tag: action, train-loss,valreward,actor,critic obtained in trainer_rl_typeloss file
     summary = Summary(value=[Summary.Value(tag=tag, simple_value=value)])
     self.summary_writer.add_summary(summary, global_step=step)
示例#8
0
def histogram(name, values, bins, collections=None):
    name = _clean_tag(name)
    values = make_np(values)
    hist = make_histogram(values.astype(float), bins)
    return Summary(value=[Summary.Value(tag=name, histo=hist)])
示例#9
0
def counter(name, counter_dict):
    name = _clean_tag(name)
    hist = make_histogram_from_counter(counter_dict)
    return Summary(value=[Summary.Value(tag=name, histo=hist)])
示例#10
0
 def _to_image_summary_safe(tag, tensor):
     tag = _clean_tag(tag)
     img = make_image_summary(to_image(tensor))
     return Summary(value=[Summary.Value(tag=tag, image=img)])