R/addContentToNetwork.R

#' addContentToNetwork
#'
#' @return
#' @export
#' @import reticulate
#' @import imager
#' @references \insertRef{Simonyan2014}{neuralstyleR}
#' @references \insertRef{Gatys2016}{neuralstyleR}
#'
#' @examples
addContentToNetwork<-function(network, contentImg, imageSize=512,
                              dtype="torch.FloatTensor"){

    #resize picture
    if(width(contentImg) >= height(contentImg)){
        contentImg<-resize(contentImg, imageSize,
                           imageSize/width(contentImg) * height(contentImg))
    }else{
        contentImg<-resize(contentImg,imageSize/height(contentImg) * width(contentImg),
                           imageSize)
    }
    t_contentImg<-prepcrocess(contentImg)$type(dtype)

    for(layer in network$contentLayers){
        layer$mode <- "capture"
    }

    network$net$forward(t_contentImg$type(dtype))

    for(layer in network$contentLayers){
        layer$mode <- "none"
    }

    return(t_contentImg)

}
David-J-R/neuralstyleR documentation built on May 8, 2019, 1:54 p.m.