Tôi đang tạo một mạng thần kinh đơn giản bằng cách sử dụng tenorflow, với dữ liệu tôi tự thu thập, tuy nhiên, nó không hợp tác: PI đã gặp phải một lỗi mà tôi không thể sửa chữa hoặc tìm cách khắc phục và tôi rất thích sự giúp đỡ của bạn.
Sự sai sót:
TypeError: Tìm nạp đối số 2861.6152 của 2861.6152 có loại không hợp lệ, phải là một chuỗi hoặc Tenor. (Không thể chuyển đổi float32 thành Tenor hoặc Hoạt động.)
Lỗi liên quan đến dòng sau trong mã của tôi:
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
Tôi đã nhận ra rằng lỗi không xảy ra khi tôi nhận xét các dòng sau trong mã của mình:
prediction = neural_network_model(champion_data)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data))
optimizer = tf.train.AdamOptimizer().minimize(cost)
_, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output})
Vì vậy, một nơi nào đó trong số những dòng này đang nhận được một cái gì đó trông không giống như nó mong đợi. Tôi đã thử tính năng rõ ràng (loại bỏ np.array () khỏi batch_input và batchDefput hoặc thay thế nó bằng list ()) nhưng điều đó không giải quyết được vấn đề. Giả thuyết hiện tại của tôi là đầu ra của neural_network_model (champ_data) bằng cách nào đó có hình dạng hoặc loại sai, tuy nhiên tôi không chắc chắn làm thế nào để kiểm tra điều đó hoặc làm thế nào để giải quyết nó nếu đó là trường hợp.
Mã đầy đủ có thể được tìm thấy ở đây: https://gist.github.com/HasseIona/4bcaf9f95ae828e056d5210a2ea07f88
Chỉnh sửa: Tôi đã xác minh rằng dữ liệu vô địch được nhập vào neural_network_model, dự đoán và chi phí đều là các thang đo. Tôi đã cố gắng giải quyết vấn đề bằng giả thuyết rằng vấn đề nào đó nằm ở phần feed_dict = {} của mã, nhưng không đi đến đâu