Значение истинности массива с более чем одним элементом неоднозначно - PullRequest
0 голосов
/ 29 июня 2018

Использование этой ссылки для билинейной интерполяции http://cv -tricks.com / изображение сегментации / транспозиции-свертку-в-tensorflow /

Я пытаюсь получить некоторые результаты, используя фиктивную матрицу, т.е. Но это дает мне ошибку. Может кто-нибудь помочь мне с фиктивным примером для запуска этого кода билинейной интерполяции?

import tensorflow as tf
import numpy as np
#tensor=np.zeros((2,2,3,3))
tensor=np.random.random((2,2,3,3))
print(tensor)
def get_bilinear_filter(filter_shape, upscale_factor):
    ##filter_shape is [width, height, num_in_channels, num_out_channels]
    kernel_size = filter_shape[1]
    ### Centre location of the filter for which value is calculated
    if kernel_size % 2 == 1:
        centre_location = upscale_factor - 1
    else:
        centre_location = upscale_factor - 0.5

    bilinear = np.zeros([filter_shape[0], filter_shape[1]])
    for x in range(filter_shape[0]):
        for y in range(filter_shape[1]):
            ##Interpolation Calculation
            value = (1 - abs((x - centre_location)/ upscale_factor)) * (1 - abs((y - centre_location)/ upscale_factor))
            bilinear[x, y] = value
    weights = np.zeros(filter_shape)
    print(weights)
    for i in range(filter_shape[2]):
        weights[:, :, i, i] = bilinear
    init = tf.constant_initializer(value=weights,
                                   dtype=tf.float32)

    bilinear_weights = tf.get_variable(name="decon_bilinear_filter", initializer=init,
                           shape=weights.shape)
    print(bilinear_weights)



get_bilinear_filter(tensor,3)
...