Как справиться с ошибкой, 'Op имеет тип int32, который не соответствует типу float32? - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь запустить этот код, используя репозиторий github: https://github.com/s4sarath/Deep-Learning-Projects/blob/master/variational_text_inference/model_evaluation.ipynb

Когда я запускаю этот код, он отлично работает

        batch_size = 100
        H_20_grp_nws = []
        batch_data = A.get_batch(batch_size)
        batch_id = 0
        for batch_ in batch_data:

        batch_id += 1
        collected_data = [chunks for chunks in batch_]
        batch_xs , mask_xs , mask_negative  = A._bag_of_words(collected_data)


        feed_dict = {vae.X: batch_xs , vae.dynamic_batch_size:batch_xs.shape[0],
                                        vae.MASK:mask_xs}

        h_batch    = vae.SESS.run(vae.z, feed_dict= feed_dict)
        H_20_grp_nws.extend(h_batch)

        H_20_grp_nws = np.array(H_20_grp_nws)
        from sklearn import manifold
        tsne = manifold.TSNE(n_components=2, init='pca', random_state=0)
        %time H_tsne = tsne.fit_transform(H_20_grp_nws) ########### Converting to tsne

, но после что когда я нахожу сходства, я получаю вышеуказанные ошибки.

        def find_similiar_docs(index, topN = 10):
               a , b = find_similar(find_norm(H_20_grp_nws), find_norm(H_20_grp_nws)[index])
               source = data_[index]
               similar_results = [data_[i] for i in b[1:topN]]

               return source , zip(similar_results, a[1:topN])

Определенная функция для find_norm: def find_norm (syn0): syn0norm = (syn0 / np.sqrt ((syn0 ** 2) .sum (-1)) [..., np.newaxis]). Astype (np.float32) возвращает syn0norm Я получаю следующие ошибки: Запрошено преобразование тензорного типа dtype float32 для Tensor с dtype int32: 'Tensor ("pow_1039: 0", dtype = int32) 'и' Input 'y' of 'Add' Op имеет тип int32, который не соответствует типу float32 аргумента 'x' '?

Как это исправить?

...