番外篇:Mac Xcode 集成 Swift for TensorFlow

番外篇: Mac Xcode 集成 Swift for TensorFlow

前置条件

  • mac 系统版本 >= 10.13.5
  • Xcode 版本 >=10.0bata

本人mac系统版本

d7359a32-3128-4a40-be63-5d9d54b8ec5d.png

本人Xcode版本

40217fba-dc8e-470b-9891-560789ef2d2f.png

安装步骤

原文链接

  • 下载最新的安装包,下载路径见原文链接,然后双击安装。


    e75cd72d-5dbe-42d5-80b8-dbedc3200308.png
cf641cad-8f68-4f15-9e79-7194e393a529.png
4efb7500-dd97-42e6-a801-1c5b88eb5230.png

6b0d33ae-f6a0-4d18-b763-08387fb45429.png
  • 安装完成之后,打开你的 Xcode => Preferences(偏好设置),选择 Components > Toolchains 然后勾选安装Swift for TensorFlow。
09ca6f1b-6ee2-4ff5-9c2a-78c80ed24811.png
  • 新建一个 macOS 项目


    5e776057-193b-44b0-9644-2db077c3f83c.png
  • 新建一个ts_01.swift文件,文件名称你可以随便命名
import Foundation
import TensorFlow

struct TS_01 {
    func test() {
        let x = Tensor<Float>(shape: [1,2],scalars: [3,4])
        print("hello TensorFlow")
        print(x + x)
    }
}

// 然后在 ViewController.swift 中调用

import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        TS_01().test()
        // Do any additional setup after loading the view.
    }

    override var representedObject: Any? {
        didSet {
        // Update the view, if already loaded.
        }
    }
}

理所当然,肯定会报错,官方文档看多了,我已经有心理准备了!

dyld: Library not loaded: @rpath/libtensorflow.so.1
  Referenced from: /Users/wang/Library/Developer/Xcode/DerivedData/TS_01-boxngrdtwugyroapoqjtekrpvatl/Build/Products/Debug/TS_01.app/Contents/Frameworks/libswiftTensorFlow.dylib
  Reason: no suitable image found.  Did find:
    /Library/Developer/Toolchains/swift-tensorflow-RELEASE-0.6.xctoolchain/usr/lib/swift/macosx/libtensorflow.so.1: code signature in (/Library/Developer/Toolchains/swift-tensorflow-RELEASE-0.6.xctoolchain/usr/lib/swift/macosx/libtensorflow.so.1) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.

可以理解为 swift-tensorflow-RELEASE-0.6.xctoolchain 没有生产签名,只是开发用的,直接运行的话 Xcode 认为 这个 xctoolchain 是不合法的。因此需要额外设置。参考githubhttps://github.com/tensorflow/swift/issues/351

3edd47dd-76a1-45b4-af39-24d8ac9b8ca9.png

重新跑一下项目,如果你看到如下输出,恭喜你成功了!

image.png

转载请注明出处,thanks

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容