8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

我在尝试在装有 Python 3.12.0 的 Windows 10 计算机上安装 TensorFlow 时遇到问题。尽管我不断收到以下错误:

Danielps1818 2月前

39 0

回溯(最近一次调用):文件 \'C:\Users\shash\Music\New folder\tensorflow001.py\',第 1 行,位于将 tensorflow 导入为 tf 文件 \'C:\Users\shash\AppData\Local\

Traceback (most recent call last):
  File "C:\Users\shash\Music\New folder\tensorflow001.py", line 1, in <module>
    import tensorflow as tf
  File "C:\Users\shash\AppData\Local\Programs\Python\Python312\Lib\site-packages\tensorflow\__init__.py", line 42, in <module>
    from tensorflow.python import tf2 as _tf2
  File "C:\Users\shash\AppData\Local\Programs\Python\Python312\Lib\site-packages\tensorflow\python\tf2.py", line 21, in <module>
    from tensorflow.python.platform import _pywrap_tf2
ImportError: DLL load failed while importing _pywrap_tf2: A dynamic link library (DLL) initialization routine failed.``

我尝试了以下操作:更新 pip、安装 tensorflow 和 tensorflow-gpu、将 python 降级至 3.10、使用 conda 安装 tensorflow,还有一些我不记得的事情

帖子版权声明 1、本帖标题:我在尝试在装有 Python 3.12.0 的 Windows 10 计算机上安装 TensorFlow 时遇到问题。尽管我不断收到以下错误:
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Danielps1818在本站《tensorflow》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我收到此错误:logits 和标签必须具有相同的第一个维度,在尝试训练我使用 tensorflow 的 SimpleRNN 层创建的聊天机器人时,logits 形状为 [3,21],标签形状为 [15]

    当我尝试训练我使用 tensorflow 提供的 SimpleRNN 层创建的聊天机器人时,我得到了这个错误:logits 和标签必须具有相同的第一个维度,logits 形状为 [3,21],标签形状为 [15]。我已确保使用填充和适当的标记化来使输入具有相同的大小,但我仍然收到此错误。我的代码如下。

    import tensorflow as tf
    import numpy as np
    import json
    
    # Step 1: Prepare the Data
    questions = ["What is your name?", "How are you?", "What is the time?"]
    answers = ["My name is ChatBot.", "I am fine, thank you.", "I do not have a watch."]
    
    with open('q.txt', 'w') as q_file, open('a.txt', 'w') as a_file:
        for q, a in zip(questions, answers):
            q_file.write(q + '\n')
            a_file.write(a + '\n')
    
    # Step 2: Preprocess the Data
    with open('q.txt', 'r') as q_file:
        questions = q_file.readlines()
    with open('a.txt', 'r') as a_file:
        answers = a_file.readlines()
    
    tokenizer = tf.keras.preprocessing.text.Tokenizer()
    tokenizer.fit_on_texts(questions + answers)
    
    q_sequences = tokenizer.texts_to_sequences(questions)
    a_sequences = tokenizer.texts_to_sequences(answers)
    
    q_sequences = tf.keras.preprocessing.sequence.pad_sequences(q_sequences, padding='post')
    a_sequences = tf.keras.preprocessing.sequence.pad_sequences(a_sequences, padding='post')
    
    q_sequences = np.array(q_sequences)
    a_sequences = np.array(a_sequences)
    
    # Step 3: Build the Model
    model = tf.keras.Sequential([
        tf.keras.layers.Embedding(input_dim=len(tokenizer.word_index) + 1, output_dim=64, input_length=q_sequences.shape[1]),
        tf.keras.layers.SimpleRNN(64, return_sequences=True),
        tf.keras.layers.SimpleRNN(64),
        tf.keras.layers.Dense(len(tokenizer.word_index) + 1, activation='softmax')
    ])
    
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
    model.summary()
    
    # Step 4: Train the Model
    # Adjust labels to match the model's output
    # Since we are predicting the next token, slice answers accordingly
    model.fit(q_sequences, a_sequences[:, 1:], epochs=10)
    
    # Step 5: Save the Weights and Biases
    model.save('chatbot_model.h5')
    
    weights_and_biases = {}
    for layer in model.layers:
        if isinstance(layer, tf.keras.layers.SimpleRNN) or isinstance(layer, tf.keras.layers.Dense):
            weights_and_biases[layer.name] = {
                'weights': layer.get_weights()[0].tolist(),
                'biases': layer.get_weights()[1].tolist()
            }
    
    with open('weights_and_biases.json', 'w') as json_file:
        json.dump(weights_and_biases, json_file)
    
    # Step 6: Custom Feedforward Function
    def custom_feedforward(input_sequence, weights_and_biases):
        def relu(x):
            return np.maximum(0, x)
    
        def softmax(x):
            e_x = np.exp(x - np.max(x))
            return e_x / e_x.sum(axis=-1, keepdims=True)
    
        w_rnn1 = np.array(weights_and_biases['simple_rnn']['weights'])
        b_rnn1 = np.array(weights_and_biases['simple_rnn']['biases'])
    
        hidden_state = np.zeros((w_rnn1.shape[1],))
        for t in range(input_sequence.shape[0]):
            hidden_state = relu(np.dot(input_sequence[t], w_rnn1) + b_rnn1 + np.dot(hidden_state, w_rnn1.T))
    
        w_dense = np.array(weights_and_biases['dense']['weights'])
        b_dense = np.array(weights_and_biases['dense']['biases'])
    
        output = softmax(np.dot(hidden_state, w_dense) + b_dense)
        
        return output
    
    # Example usage of the custom feedforward function
    input_sequence = q_sequences[0]
    output = custom_feedforward(input_sequence, weights_and_biases)
    print(output)
    

    model.fit 行发生错误。

    我原本希望该程序能够正确地完成 20 个 epoch 的训练,并且不会出现任何大小错误。谢谢您的帮助!

  • 错误是不言而喻的:您传递了两个数组,其中第一个数组的第一个维的长度(3)与第二个数组的第一个维的长度(15)不同。您是否尝试过连接调试器并在有问题的行上放置断点?

  • 按照该文章操作后,我收到此错误:ValueError:形状(None,5)和(None,21)不兼容。

  • 我目前正在使用 YOLOv8 进行自定义对象检测项目,并已成功在自定义数据集上训练我的模型。但是,我在尝试裁剪细节时遇到了问题...

    我目前正在使用 YOLOv8 进行自定义对象检测项目,并已成功在自定义数据集上训练我的模型。但是,当我尝试使用 YOLOv8 生成的边界框从图像中裁剪检测到的对象并将其保存到指定文件夹中时,我遇到了问题。

    使用 Ultralytics 库中提供的预测代码时,该模型在绘制边界框方面​​表现良好:

    
    from ultralytics import YOLO
    
    model = YOLO('/path/to/best.pt')
    source = '/path/to/image.jpg'
    
    # Run inference on the source
    results = model.predict(source, show=True, save=True)
    

    输出

    https://i.sstatic.net/BHNcpwZz.jpg )

    但是,当我尝试使用以下代码裁剪检测到的对象时:

    from ultralytics import YOLO
    import cv2
    import os
    
    model = YOLO('/path/to/best.pt') 
    source = '/path/to/image.jpg'
    img = cv2.imread(source)
    
    # Directly use `img` for the prediction to ensure alignment
    results = model.predict(img)
    
    if results[0].boxes is not None:
        for i, box in enumerate(results[0].boxes.xyxy):
            x1, y1, x2, y2 = map(int, box[:4])
            crop_img = img[y1:y2, x1:x2]
        
            save_dir = 'cropped_images'
            os.makedirs(save_dir, exist_ok=True)
            
            cv2.imwrite(os.path.join(save_dir, f'crop_{i}.jpg'), crop_img)
            print(f'crop_{i}.jpg saved successfully!')
    else:
        print("No objects detected.")
    

    尽管在上一个代码片段中成功检测,但输出始终显示“未检测到任何对象”。我已经使用验证集验证了模型的准确性,并取得了令人满意的结果。

    有人能提供一些见解或建议,说明如何在自定义对象检测项目中使用 YOLOv8 生成的边界框成功从图像中裁剪对象吗?尽管检测成功,但在尝试裁剪并将检测到的对象保存到指定文件夹中时,我遇到了问题。

  • lrn 2月前 0 只看Ta
    引用 6

    您知道 img 是 BGR 格式的,因为它是由 cv2 读取的,所以它不是 RGB 格式的。我想这就是您的问题

  • 我用自己的模型和图像尝试了您的代码,结果一切正常。您能将您的模型和图像上传到某个地方让我看看能否解决您的问题吗?

返回
作者最近主题: