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

提取BIN文件中使用的第三方库名称和版本

Hardy Wen 2月前

46 0

我在尝试从 bin 文件中提取第三方库时遇到问题,并且不知道该如何进行。关于我的背景:我是初级软件工程师(FULL-STACK javascript),我做过...

我在尝试从 bin 文件中提取第三方库时遇到问题,但不知道如何继续。关于我的背景:我是初级软件工程师(FULL-STACK javascript),我没有在我的简历中写机器学习或逆向工程,我对逆向工程和机器学习一无所知,但我的技术主管把这个项目推给我,让我从 bin 文件中提取第三方库,我不知道如何解决这个问题。我目前正在使用这些作为参考,但 repo 不起作用: https://github.com/DeepSoftwareAnalytics/LibDB 这是文档说明: https://arxiv.org/pdf/2204.10232

帖子版权声明 1、本帖标题:提取BIN文件中使用的第三方库名称和版本
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Hardy Wen在本站《tensorflow》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我目前正在尝试了解如何在 tflite-micro 中初始化第三方软件:https://github.com/tensorflow/tflite-micro/tree/main/third_party我安装了正确的 bazel 版本:s...

    我目前正在尝试了解如何在 tflite-micro 中初始化第三方软件: https://github.com/tensorflow/tflite-micro/tree/main/third_party

    我安装了正确的 bazel 版本: sudo apt update && sudo apt install bazel-7.0.0 .

    但是我该如何初始化第三方库呢?我尝试了以下方法:

    tflite-micro$ bazel build third_party/flatbuffers
    WARNING: Target pattern parsing failed.
    ERROR: Skipping 'third_party/flatbuffers': no such target '//third_party/flatbuffers:flatbuffers': target 'flatbuffers' not declared in package 'third_party/flatbuffers' defined by /home/user/tflite-micro/third_party/flatbuffers/BUILD (Tip: use `query "//third_party/flatbuffers:*"` to see all the targets in that package)
    ERROR: no such target '//third_party/flatbuffers:flatbuffers': target 'flatbuffers' not declared in package 'third_party/flatbuffers' defined by /home/user/tflite-micro/third_party/flatbuffers/BUILD (Tip: use `query "//third_party/flatbuffers:*"` to see all the targets in that package)
    

    这不起作用。最终,我想构建我的最小 tflite-micro 示例:

    #include <math.h>
    
    #include "modelData.h"
    #include "tensorflow/lite/core/c/common.h"
    #include "tensorflow/lite/micro/micro_interpreter.h"
    #include "tensorflow/lite/micro/micro_log.h"
    #include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
    #include "tensorflow/lite/micro/micro_profiler.h"
    #include "tensorflow/lite/micro/recording_micro_interpreter.h"
    #include "tensorflow/lite/micro/system_setup.h"
    #include "tensorflow/lite/schema/schema_generated.h"
    
    TfLiteStatus LoadFloatModelAndPerformInference()
    {
      const tflite::Model* model = ::tflite::GetModel( model );
      TFLITE_CHECK_EQ( model->version(), TFLITE_SCHEMA_VERSION );
    
      HelloWorldOpResolver op_resolver;
      TF_LITE_ENSURE_STATUS( RegisterOps( op_resolver ) );
    
      // Arena size just a round number. The exact arena usage can be determined
      // using the RecordingMicroInterpreter.
      constexpr int kTensorArenaSize = 3000;
      uint8_t tensor_arena[ kTensorArenaSize ];
    
      tflite::MicroInterpreter interpreter( model, op_resolver, tensor_arena, kTensorArenaSize );
      TF_LITE_ENSURE_STATUS( interpreter.AllocateTensors() );
    
      constexpr int kNumTestValues = 2;
      float inputs[ kNumTestValues ] = { 1.0f, 0.0f };
    
      for (int i = 0; i < kNumTestValues; ++i) {
        interpreter.input(0)->data.f[0] = inputs[i];
        TF_LITE_ENSURE_STATUS( interpreter.Invoke() );
        float y_pred = interpreter.output(0)->data.f[0];
      }
    
      return kTfLiteOk;
    }
    
    int main( int argc, char* argv[] )
    {
        tflite::InitializeTarget();
        TF_LITE_ENSURE_STATUS( LoadFloatModelAndPerformInference() );
        return kTfLiteOk;
    }
    
    

    使用我的 CMake 脚本

    cmake_minimum_required( VERSION 3.5 FATAL_ERROR )
    project( Net)
    
    set( TARGET Net)
    
    add_executable( tensorflowLoader src/tensorflowLoader.cpp )
    target_include_directories( ${TARGET} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/tflite-micro/ )
    target_include_directories( ${TARGET} PRIVATE ${CMAKE_CURRENT_LIST_DIR}/tflite-micro/third_party/ )
    set( CMAKE_CXX_STANDARD 17 )
    
    
  • 如果您尝试在 下构建所有内容 third_party/flatbuffers ,它建议的命令 - bazel query //third_party/flatbuffers:* - 是一个好主意,但由于此 repo 的奇怪设置,它会失败。

    运行时 bazel query @flatbuffers//... --keep_going ,我得到以下输出:

    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers___init___py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers__version_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_builder_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_compat_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_encode_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_flexbuffers_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_number_types_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_packer_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_table_py
    @flatbuffers//:flatbuffer_py_strip_prefix_python_flatbuffers_util_py
    @flatbuffers//:flatbuffers
    @flatbuffers//:flatc
    @flatbuffers//:flatc_headers
    @flatbuffers//:flatc_library
    @flatbuffers//:platform_freebsd
    @flatbuffers//:platform_openbsd
    @flatbuffers//:public_headers
    @flatbuffers//:runtime_cc
    @flatbuffers//:runtime_py
    @flatbuffers//:runtime_py_srcs
    @flatbuffers//:windows
    @flatbuffers//grpc/src/compiler:common_headers
    @flatbuffers//grpc/src/compiler:cpp_generator
    @flatbuffers//grpc/src/compiler:distribution
    @flatbuffers//grpc/src/compiler:go_generator
    @flatbuffers//grpc/src/compiler:java_generator
    @flatbuffers//grpc/src/compiler:python_generator
    @flatbuffers//grpc/src/compiler:python_generator_private
    @flatbuffers//grpc/src/compiler:swift_generator
    @flatbuffers//grpc/src/compiler:ts_generator
    @flatbuffers//grpc/tests:grpc_test
    @flatbuffers//reflection:distribution
    @flatbuffers//reflection:reflection_fbs_schema
    @flatbuffers//src:code_generators
    @flatbuffers//src:distribution
    @flatbuffers//src:flatbuffers
    @flatbuffers//src:flatc
    @flatbuffers//src:flatc_library
    @flatbuffers//src:generate_fbs
    

    进去 third_party/flatbuffers/BUILD.oss 看看你需要哪些。我怀疑是 @flatbuffers//:flatbuffers .

    根据您的说法,我猜这并不一定是可重现的,所以我们可以放心地进行破解而不必担心将其与 Bazel 集成?

    尝试这样的操作:

    # Outputs are built into a tree you can find at the path `$(bazel info execution_root)`
    $ bazel build //third_party/flatbuffers/...
    
    # You'll also need to build everything else you're depending on...
    

    然后,将该 execution_root 路径复制到您的 cmake 脚本中。这可能会让您摆脱困境。

    但是,该路径有一个哈希,它不能跨机器工作;您需要与 bazel 集成才能获得进一步的效果。

    像这样:

    # In the root BUILD file
    cc_binary(
        srcs = ["your_file_name.cc"],
        deps = [
            "@flatbuffers//:flatbuffers", # Or whichever one you find you need
            ... # Other deps you need here.
        ],
        copts = ["-std=c++17"],
    )
    
  • 我在 React 应用程序中使用 Yup 进行表单验证。我有一个架构,需要独立验证多个对象字段。但是,我遇到了一个问题,Yup 验证仅

    我在 React 应用程序中使用 Yup 进行表单验证。我有一个模式,需要独立验证多个对象字段。但是,我遇到了一个问题,即 Yup 验证一次仅适用于一个对象字段,即使对象的形状相同且共享相同的类型

    const comparisonTableSchema = object().shape({
      baseMonth: object().shape({
        _id: string().required('Please select a month'),
        name: string().required(),
      }),
      targetMonth: object().shape({
        _id: string().required('Please select a month'),
        name: string().required(),
      }),
      matrix: object().shape({
        _id: string().required('Please select a matrix'),
        name: string().required(),
      }),
      // Other fields...
    });
    

    问题是,当我提交表单时,Yup 验证一次只显示一个对象字段的错误。如果我满足一个字段的条件并再次提交,则它会显示另一个字段的错误。

    我尝试了各种方法,包括 object().noUnknown() 和定义自定义验证函数,但这两种方法都无法解决问题。

    考虑到它们共享相同的对象类型,我如何确保 Yup 独立验证 baseMonth targetMonth 和 matrix,并且如果验证失败则同时显示所有字段的错误?

  • 我使用 Pycharm IDE 运行 Python 程序。我已经成功安装了 TensorFlow 包,没有任何问题,但是当我尝试运行该程序(一个简单的 hello world 程序)时,它给了我这个长错误...

    我使用 Pycharm IDE 运行 Python 程序。我已经成功安装了 TensorFlow 包,没有任何问题,但是当我尝试运行该程序(一个简单的 hello world 程序)时,它给出了这个长错误!

    仅运行导入行后出现此错误

    import tensor flow as tf
    

    error

    continue

    路径和环境看起来都很好,我尝试按照不同的教程都没有这个错误,我看了一个有类似错误消息的教程,但程序还是执行了

返回
作者最近主题: