Skip to content

Conversation

SAKURA-CAT
Copy link
Member

@SAKURA-CAT SAKURA-CAT commented Jun 20, 2024

Description

对于数据处理部分的可选依赖,不应该直接用类似:

from swanlab.data.modules.utils import check_library_installed

check_library_installed("soundfile")
check_library_installed("numpy")

的形式,因为这些类被swanlab导出,所以无论怎么样,这些代码都会执行。比较好的方式是类似:

try:
    # noinspection PyPackageRequirements
    import soundfile as sf
    # noinspection PyPackageRequirements
    import numpy as np
except ImportError:
    sf, np = None, None

然后在使用类__init__方法中判断是否可以使用,类似:

  def __init__(
          self,
          data_or_path: Union[str, np.ndarray],
          sample_rate: int = 44100,
          caption: str = None,
  ):
      """Audio class constructor

      Parameters
      ----------
      data_or_path: str or numpy.ndarray
          Path to an audio file or numpy array of audio data.
      sample_rate: int
              Sample rate of the audio data. Required when input is numpy array.
      caption: str
          Caption for the audio.
      """
      if sf is None or np is None:
          raise ImportError(
              "soundfile and numpy are required for Audio class, "
              'you can install them by `pip install "swanlab[process]"`'
          )
      ...

然后就可以使用pip install "swanlab[process]"的方式安装了


但是其实并不是,之所以可以使用pip install "swanlab[process]"的方式安装是因为我进行了一些配置。

另外,本pr删除了对ujson的依赖。

@SAKURA-CAT SAKURA-CAT requested a review from Zeyi-Lin June 20, 2024 08:45
@SAKURA-CAT SAKURA-CAT self-assigned this Jun 20, 2024
@SAKURA-CAT SAKURA-CAT added the 💪 enhancement New feature or request label Jun 20, 2024
@SAKURA-CAT SAKURA-CAT marked this pull request as ready for review June 20, 2024 08:45
@Zeyi-Lin
Copy link
Member

关于媒体类型的可选安装部分,可以叫pip install swanlab[media]

@SAKURA-CAT
Copy link
Member Author

关于媒体类型的可选安装部分,可以叫pip install swanlab[media]

已改,安装时需要加双引号

@SAKURA-CAT SAKURA-CAT merged commit 0785171 into feat/toolkit Jun 20, 2024
@SAKURA-CAT SAKURA-CAT deleted the feat/optional-dependence branch June 20, 2024 08:52
@SAKURA-CAT SAKURA-CAT mentioned this pull request Jun 20, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💪 enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants