Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Issue with siamese_track( ) #213

Open
@MsAnitaAli

Description

@MsAnitaAli

whenever I clone and use this repo in my notebook. It generates error with this line

state = siamese_track(state, frame, mask_enable=True, refine_enable=True, device=device)

error message is:
AttributeError: module 'numpy' has no attribute 'float'.
np.float was a deprecated alias for the builtinfloat. To avoid this error in existing code, usefloat by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, usenp.float64 here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

Apparently it seems, I am using newer version of numpy and use of np.float has been deprecated. I have tried out these.

  1. I have tried to rerun (on my local machine) with older version of numpy from my activated virtual env, but no use.
  2. In Google colab, i have tried to forcefully pip install older version of numpy, it didn't work too.
  3. I tried to replace all occurrences of np.float with float, but didn't work.
  4. i tried to replace all occurrences of np.float64, but it didn't work too.
    Now what to do?

Secondly, in some codes( as in this code), apparently there is no np.float present in our code. It might be possible that definition of siamese_track is using it, but how to locate that definition in entire repo? or should I search for it in all possible .py and .ipnb files that are present in this repo, but how is that possible

My code cell is given below.
steps:
1: Mount drive - running
2: Setting up imports, Clone and Install Darknet (Yolov4) and SiamMask, copying weights - running

3: Detect the object using Yolov4 and track it using SiamMask; -- generating error

def YoloSiam():
f = 0
video_capture = cv2.VideoCapture()
if video_capture.open('target.mp4'):
width, height = int(video_capture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video_capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = video_capture.get(cv2.CAP_PROP_FPS)

!rm -f output.mp4 output.avi# can't write out mp4, so try to write into an AVI filevideo_writer = cv2.VideoWriter("output.avi", cv2.VideoWriter_fourcc(*'MJPG'), fps, (width, height))while video_capture.isOpened():  ret, frame = video_capture.read()  if not ret:    break  if f == 0:    # detect the object using Yolov4    #moving into darknet directory    os.chdir('/content/darknet')    #saving file name to a txt file    im='first_frame.jpg'    with open('image.txt', 'w') as txt_file:      cv2.imwrite(im,frame)      txt_file.write(im)      im = cv2.imread(im)    #Running  Yolov4 and creating json file    !./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights -ext_output -dont_show -out result.json < image.txt    # Reading json file    json_file = open("result.json")    data = json.load(json_file)    json_file.close()    #Extracting relative coordinates from the json file    relative_coordinates=data[0]['objects'][0]['relative_coordinates']    rel_center_x=relative_coordinates['center_x']    rel_center_y=relative_coordinates['center_y']    rel_width=relative_coordinates['width']    rel_height=relative_coordinates['height']    #finding width and height of the image    img_height, img_width, c= im.shape    #Calculating absolute coordinates    w=math.ceil(rel_width*img_width)    h=math.ceil(rel_height*img_height)    x=math.ceil(rel_center_x*img_width-w/2) #top left    y=math.ceil(rel_center_y*img_height-h/2) #top left    #moving back to root directory    os.chdir('/content')    # init SiamMask tracker    target_pos, target_sz = None, None    target_pos = np.array([x + w / 2, y + h / 2])    target_sz = np.array([w, h])    state = siamese_init(frame, target_pos, target_sz, siammask, cfg['hp'], device=device)  else:    # track    state = siamese_track(state, frame, mask_enable=True, refine_enable=True, device=device)    location = state['ploygon'].flatten()    mask = state['mask'] > state['p'].seg_thr    frame[:, :, 2] = (mask > 0) * 255 + (mask == 0) * frame[:, :, 2]    cv2.polylines(frame, [np.int0(location).reshape((-1, 1, 2))], True, (0, 255, 0), 3)    video_writer.write(frame)  f += 1  # only on first 200 frames  if f > 200:    breakvideo_capture.release()video_writer.release()# convert AVI to MP4!ffmpeg -y -loglevel info -i output.avi output.mp4

else:
print("can't open the given input video file!")

YoloSiamTime = %timeit -o -n 1 YoloSiam()

Complete Error Message :

AttributeError Traceback (most recent call last)
in <cell line: 88>()
86 print("can't open the given input video file!")
87
---> 88 YoloSiamTime = get_ipython().run_line_magic('timeit', '-o -n 1 YoloSiam()')
89
90 #show video using the helping function defined in#2

8 frames
in timeit(self, line, cell, local_ns)

in inner(_it, _timer)

/usr/local/lib/python3.10/dist-packages/numpy/init.py ingetattr(attr)
317
318 if attr informer_attrs:
--> 319 raise AttributeError(former_attrs[attr])
320
321 if attr == 'testing':

AttributeError: module 'numpy' has no attribute 'float'.
np.float was a deprecated alias for the builtinfloat. To avoid this error in existing code, usefloat by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, usenp.float64 here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp